--- xorg/xserver/Xext/dpms.c.orig 2018-06-16 18:54:24.520660890 -0400
+++ xorg/xserver/Xext/dpms.c 2018-06-18 11:09:19.021529381 -0400
@@ -45,9 +45,9 @@ Equipment Corporation.
CARD16 DPMSPowerLevel = 0;
Bool DPMSDisabledSwitch = FALSE;
-CARD32 DPMSStandbyTime;
-CARD32 DPMSSuspendTime;
-CARD32 DPMSOffTime;
+CARD32 DPMSStandbyTime = -1;
+CARD32 DPMSSuspendTime = -1;
+CARD32 DPMSOffTime = -1;
Bool DPMSEnabled;
Bool
@@ -432,7 +432,15 @@ DPMSCloseDownExtension(ExtensionEntry *e
void
DPMSExtensionInit(void)
{
- DPMSStandbyTime = DPMSSuspendTime = DPMSOffTime = ScreenSaverTime;
+#define CONDITIONALLY_SET_DPMS_TIMEOUT(_timeout_value_) \
+ if (_timeout_value_ == -1) { /* not yet set from config */ \
+ _timeout_value_ = ScreenSaverTime; \
+ }
+
+ CONDITIONALLY_SET_DPMS_TIMEOUT(DPMSStandbyTime)
+ CONDITIONALLY_SET_DPMS_TIMEOUT(DPMSSuspendTime)
+ CONDITIONALLY_SET_DPMS_TIMEOUT(DPMSOffTime)
+
DPMSPowerLevel = DPMSModeOn;
DPMSEnabled = DPMSSupported();
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel