dix: fix broken XI event delivery during grabs.

If an implicit passive grab is active, the XI event mask is in
grab->deviceMask. Otherwise, for explicit grabs, the XI event mask is in
grab->eventMask.

Reported-by: Thomas Jaeger
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2009-05-29 14:01:21 +10:00
parent 29ec146251
commit 75c73ddbfc

View File

@ -3863,6 +3863,9 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
if (grabinfo->fromPassiveGrab &&
grabinfo->implicitGrab)
mask = grab->deviceMask;
else
mask = grab->eventMask;
FixUpEventFromWindow(thisDev, xi, grab->window,
None, TRUE);