mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-01-06 03:50:14 +01:00
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 commit6aef209ebcAuthor: 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 commit2dc6d92284)
This commit is contained in:
parent
c0e68f8e70
commit
4a957c9e81
2 changed files with 4 additions and 0 deletions
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue