summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2010-04-14 10:51:41 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2010-04-21 10:51:27 +1000
commit3e76abe1c16ff45f25de8f20c3aaf3268dff10c8 (patch)
tree09251ea240ad287e313cfb204a773aecc105ed48
parent37c3d2aef089a8bb45adecb4f0372c47b62e0bb7 (diff)
xkb: Guard against SIGIO updates during PointerKeys.
In theory, an event coming in during GPE could reset our lastSlave, leading to rather interesting events lateron. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Simon Thum <simon.thum@gmx.de> Reviewed-by: Daniel Stone <daniel@fooishbar.org> (cherry picked from commit 6c42c8c356be305dc7f3f92ad8d58675da8c2f07)
-rw-r--r--xkb/ddxDevBtn.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xkb/ddxDevBtn.c b/xkb/ddxDevBtn.c
index 3bee84b1e..b8a222d0b 100644
--- a/xkb/ddxDevBtn.c
+++ b/xkb/ddxDevBtn.c
@@ -64,11 +64,12 @@ XkbDDXFakeDeviceButton(DeviceIntPtr dev,Bool press,int button)
return;
events = InitEventList(GetMaximumEventsNum());
+ OsBlockSignals();
nevents = GetPointerEvents(events, ptr,
press ? ButtonPress : ButtonRelease, button,
0 /* flags */, 0 /* first */,
0 /* num_val */, NULL);
-
+ OsReleaseSignals();
for (i = 0; i < nevents; i++)
mieqProcessDeviceEvent(ptr, (InternalEvent*)events[i].event, NULL);