[PATCH] dix/events: Set currentTime to the given time stamp in NoticeTime
tiagomatos at gmail.com
Sat Apr 25 12:19:25 PDT 2015
The refactoring in commit efc1035ca958f2c9d266338a308518a0834b1773
removed the actual update of currentTime.
Signed-off-by: Rui Matos <tiagomatos at gmail.com>
I noticed this while investigating why hitting a key on GNOME's lock
screen would wake the monitor from DPMS but instantly enter DPMS
again. GNOME uses a 15 sec idle alarm to enter DPMS while the screen
is locked and it turns out that the X server was triggering this alarm
immediately when pressing a key.
Drilling down into the server I noticed that IdleTimeQueryValue() in
IdleTimeWakeupHandler() was getting values bigger than 15 sec in this
case which is clearly wrong since I had just pressed a key.
That's how I arrived at this patch, please review, thanks.
dix/events.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dix/events.c b/dix/events.c
index b8c67fd..2500615 100644
@@ -1063,6 +1063,7 @@ MonthChangedOrBadTime(CARD32 *ms)
NoticeTime(const DeviceIntPtr dev, TimeStamp time)
+ currentTime = time;
lastDeviceEventTime[XIAllDevices].time = currentTime;
lastDeviceEventTime[dev->id].time = currentTime;
More information about the xorg-devel