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-16 16:33:33 +1000 |
commit | 6c42c8c356be305dc7f3f92ad8d58675da8c2f07 (patch) | |
tree | f46c76f7aa8f533c130fdacdf6d5fe9dccee1c51 /xkb | |
parent | 108457dff816569453a2d88cd72595fa7eb02479 (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>
Diffstat (limited to 'xkb')
-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); |