From 75c73ddbfc9236bb80a3709d467674c4a1018fa3 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 29 May 2009 14:01:21 +1000 Subject: [PATCH] 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 --- dix/events.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dix/events.c b/dix/events.c index 39cf29538..da9107ea1 100644 --- a/dix/events.c +++ b/dix/events.c @@ -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);