[PATCH] dix: send NonlinearVirtual FocusOut events to the immediate parent (#44079)

Peter Hutterer peter.hutterer at who-t.net
Mon Jan 2 19:05:27 PST 2012

For a NonlinearVirtual transition from windows A to B, A->parent did not
receive an event. DeviceFocusOutEvents sends to windows ]from, to[, so start
with the actual window, not it's parent.

X.Org Bug  <http://bugs.freedesktop.org/show_bug.cgi?id=44079>

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
 dix/enterleave.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dix/enterleave.c b/dix/enterleave.c
index a39e640..40d5f5f 100644
--- a/dix/enterleave.c
+++ b/dix/enterleave.c
@@ -1353,7 +1353,7 @@ DeviceFocusEvents(DeviceIntPtr dev,
                     DeviceFocusEvent(dev, XI_FocusOut, mode, NotifyNonlinear, from);
                     if (from->parent != NullWindow)
-                        DeviceFocusOutEvents(dev, from->parent, common, mode,
+                        DeviceFocusOutEvents(dev, from, common, mode,
                     if (to->parent != NullWindow)
                         DeviceFocusInEvents(dev, common, to, mode, NotifyNonlinearVirtual);

More information about the xorg-devel mailing list