mi: only process master if the SD is still attached.

SDs may be detached during event processing (e.g. if a passive grab
activates). In this case, the event must not be processed through the master
device.

Reported-by: Thomas Jaeger
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2009-06-03 12:30:49 +10:00
parent eb3fe72cbc
commit af4e658401

View File

@ -402,7 +402,9 @@ mieqProcessDeviceEvent(DeviceIntPtr dev,
/* process slave first, then master */
dev->public.processInputProc(event, dev);
if (master)
/* Check for the SD's master in case the device got detached
* during event processing */
if (master && dev->u.master)
master->public.processInputProc(
(InternalEvent*)masterEvents->event,
master);