summaryrefslogtreecommitdiff
path: root/Xi/ungrdev.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2007-03-08 17:17:23 +1030
committerPeter Hutterer <peter@cs.unisa.edu.au>2007-03-08 17:17:23 +1030
commitceca5670fee99b5feceaa2453f1ac32d1bfe7dcd (patch)
tree61b135c3d494c4588cacbcd05329032da92ef82f /Xi/ungrdev.c
parent537bc2ead4d154552cbdc3a19e335f82af63792c (diff)
dix: Each device needs to differ between a core grab and an XI grab,
otherwise a Xi grab may overwrite or release a core grab. Replace grab and associates with coreGrab and deviceGrab structures, adjust rest of dix/Xi/etc to compile. xfree86: Don't check for core devices, we'll have the virtual ones anyway. If we check, the first mouse device is duplicated and sends double events.
Diffstat (limited to 'Xi/ungrdev.c')
-rw-r--r--Xi/ungrdev.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Xi/ungrdev.c b/Xi/ungrdev.c
index 980fa9339..a028a228f 100644
--- a/Xi/ungrdev.c
+++ b/Xi/ungrdev.c
@@ -106,12 +106,12 @@ ProcXUngrabDevice(register ClientPtr client)
SendErrorToClient(client, IReqCode, X_UngrabDevice, 0, BadDevice);
return Success;
}
- grab = dev->grab;
+ grab = dev->deviceGrab.grab;
time = ClientTimeToServerTime(stuff->time);
if ((CompareTimeStamps(time, currentTime) != LATER) &&
- (CompareTimeStamps(time, dev->grabTime) != EARLIER) &&
+ (CompareTimeStamps(time, dev->deviceGrab.grabTime) != EARLIER) &&
(grab) && SameClient(grab, client))
- (*dev->DeactivateGrab) (dev);
+ (*dev->deviceGrab.DeactivateGrab) (dev);
return Success;
}