diff options
Diffstat (limited to 'xserver/Xi/ungrdev.c')
-rw-r--r-- | xserver/Xi/ungrdev.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/xserver/Xi/ungrdev.c b/xserver/Xi/ungrdev.c index 7abb1d061..f6525a287 100644 --- a/xserver/Xi/ungrdev.c +++ b/xserver/Xi/ungrdev.c @@ -101,12 +101,12 @@ ProcXUngrabDevice(ClientPtr client) rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess); if (rc != Success) return rc; - grab = dev->grab; + grab = dev->deviceGrab.grab; time = ClientTimeToServerTime(stuff->time); if ((CompareTimeStamps(time, currentTime) != LATER) && - (CompareTimeStamps(time, dev->grabTime) != EARLIER) && - (grab) && SameClient(grab, client)) - (*dev->DeactivateGrab) (dev); + (CompareTimeStamps(time, dev->deviceGrab.grabTime) != EARLIER) && + (grab) && SameClient(grab, client) && !grab->coreGrab) + (*dev->deviceGrab.DeactivateGrab) (dev); return Success; } |