From 6c42c8c356be305dc7f3f92ad8d58675da8c2f07 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 14 Apr 2010 10:51:41 +1000 Subject: [PATCH] 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 Reviewed-by: Simon Thum Reviewed-by: Daniel Stone --- xkb/ddxDevBtn.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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);