diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2010-04-14 10:51:41 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2010-04-21 10:51:27 +1000 |
commit | 3e76abe1c16ff45f25de8f20c3aaf3268dff10c8 (patch) | |
tree | 09251ea240ad287e313cfb204a773aecc105ed48 | |
parent | 37c3d2aef089a8bb45adecb4f0372c47b62e0bb7 (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.c | 3 |
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); |