diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2012-11-15 14:00:57 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2012-12-05 17:36:02 +1000 |
commit | 4a957c9e81233344da0b5b9388ca2d97eedde7d5 (patch) | |
tree | e69cf465624a81fbbc6715e1f361844cfdffd8d9 | |
parent | c0e68f8e70e0b0fbb00992228c4651d5b0902759 (diff) |
When resetting device idle time, reset XIAll(Master)Devices too (#56649)
When the screen saver is forcibly deactivated, the idle time counter is
reset for all devices but not for the fake XIAllDevices and
XIAllMasterDevices. XScreenSaverQueryInfo uses XIAlldevices to fill the
"idle" field, thus returning the wrong value.
Regression introduced in
commit 6aef209ebc2e54f5465da505a780f7b4cc273ee0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Mar 12 13:51:02 2012 +1000
Change lastDeviceIdleTime to be per-device
X.Org Bug 56649 <http://bugs.freedesktop.org/show_bug.cgi?id=56649>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Tested-by: Giacomo Perale <ghepeu@virgilio.it>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 2dc6d9228456cbc274a1fcea478258e5ae4dc629)
-rw-r--r-- | Xext/saver.c | 2 | ||||
-rw-r--r-- | dix/window.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/Xext/saver.c b/Xext/saver.c index ac4a633e7..f73e2a21f 100644 --- a/Xext/saver.c +++ b/Xext/saver.c @@ -393,6 +393,8 @@ ScreenSaverFreeSuspend(pointer value, XID id) UpdateCurrentTimeIf(); nt_list_for_each_entry(dev, inputInfo.devices, next) lastDeviceEventTime[dev->id] = currentTime; + lastDeviceEventTime[XIAllDevices] = currentTime; + lastDeviceEventTime[XIAllMasterDevices] = currentTime; SetScreenSaverTimer(); } } diff --git a/dix/window.c b/dix/window.c index cdd12dca6..49ef4a081 100644 --- a/dix/window.c +++ b/dix/window.c @@ -3132,6 +3132,8 @@ dixSaveScreens(ClientPtr client, int on, int mode) UpdateCurrentTimeIf(); nt_list_for_each_entry(dev, inputInfo.devices, next) lastDeviceEventTime[dev->id] = currentTime; + lastDeviceEventTime[XIAllDevices] = currentTime; + lastDeviceEventTime[XIAllMasterDevices] = currentTime; } SetScreenSaverTimer(); } |