xkb: Hold input lock across injected key event processing

This makes the code more consistent with other versions of
out-of-queue event processing

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Keith Packard 2015-12-09 14:27:05 -08:00
parent 05d549d604
commit 728c9570a0

View File

@ -1534,13 +1534,12 @@ InjectPointerKeyEvents(DeviceIntPtr dev, int type, int button, int flags,
UpdateFromMaster(&events[nevents], lastSlave, DEVCHANGE_POINTER_EVENT, UpdateFromMaster(&events[nevents], lastSlave, DEVCHANGE_POINTER_EVENT,
&nevents); &nevents);
miPointerSetWaitForUpdate(pScreen, saveWait); miPointerSetWaitForUpdate(pScreen, saveWait);
input_unlock();
for (i = 0; i < nevents; i++) for (i = 0; i < nevents; i++)
mieqProcessDeviceEvent(ptr, &events[i], NULL); mieqProcessDeviceEvent(ptr, &events[i], NULL);
input_unlock();
FreeEventList(events, GetMaximumEventsNum()); FreeEventList(events, GetMaximumEventsNum());
} }
static void static void