From dc32a23890776edf575bf18b3f3c079da6214340 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 11 Feb 2011 15:21:51 +1000 Subject: Fix two incorrect checks for master devices. These two were sideeffects of lastSlave being in the same field as the master. For devices generated by the master device directly, lastSlave was 0 and the device would (with the old checks) be interpreted as floating. Add the required checks to safeguard against master devices. Signed-off-by: Peter Hutterer Reviewed-by: Benjamin Tissoires --- Xi/exevents.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Xi') diff --git a/Xi/exevents.c b/Xi/exevents.c index 327873e29..b39e202ff 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -710,6 +710,9 @@ ChangeMasterDeviceClasses(DeviceIntPtr device, DeviceChangedEvent *dce) if (rc != Success) return; /* Device has disappeared */ + if (IsMaster(slave)) + return; + if (!slave->u.master) return; /* set floating since the event */ -- cgit v1.2.3