DMPS calls dixSaveScreens() when turned off but not when turned
on. In most cases this is irrelevant as DPMS is done when a
key is hit in which case dixSaveScreens() will be called to
unblank anyhow. This isn't the case if we use xset (or the
DPMS extension directly) to unblank.

Signed-off-by: Egbert Eich <e...@freedesktop.org>
---
 hw/xfree86/common/xf86DPMS.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/xfree86/common/xf86DPMS.c b/hw/xfree86/common/xf86DPMS.c
index 3f1e142..cb1b32b 100644
--- a/hw/xfree86/common/xf86DPMS.c
+++ b/hw/xfree86/common/xf86DPMS.c
@@ -162,7 +162,8 @@ DPMSSet(ClientPtr client, int level)
         rc = dixSaveScreens(client, SCREEN_SAVER_FORCER, ScreenSaverActive);
         if (rc != Success)
             return rc;
-    }
+    } else
+        dixSaveScreens(client, SCREEN_SAVER_FORCER, ScreenSaverReset);
 
     /* For each screen, set the DPMS level */
     for (i = 0; i < xf86NumScreens; i++) {
-- 
1.8.1.4

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to