diff options
author | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-03-08 17:17:23 +1030 |
---|---|---|
committer | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-03-08 17:17:23 +1030 |
commit | ceca5670fee99b5feceaa2453f1ac32d1bfe7dcd (patch) | |
tree | 61b135c3d494c4588cacbcd05329032da92ef82f /Xi/ungrdev.c | |
parent | 537bc2ead4d154552cbdc3a19e335f82af63792c (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.c | 6 |
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; } |