summaryrefslogtreecommitdiff
path: root/Xi/closedev.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/closedev.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/closedev.c')
-rw-r--r--Xi/closedev.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Xi/closedev.c b/Xi/closedev.c
index cc83e6a5b..7bdd3730f 100644
--- a/Xi/closedev.c
+++ b/Xi/closedev.c
@@ -109,8 +109,8 @@ ProcXCloseDevice(register ClientPtr client)
return Success;
}
- if (d->grab && SameClient(d->grab, client))
- (*d->DeactivateGrab) (d); /* release active grab */
+ if (d->deviceGrab.grab && SameClient(d->deviceGrab.grab, client))
+ (*d->deviceGrab.DeactivateGrab) (d); /* release active grab */
/* Remove event selections from all windows for events from this device
* and selected by this client.