From 3dbabbd2e5340857d0223f0529d4feb1bbacd3fd Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 4 Dec 2013 12:34:31 +0100 Subject: [PATCH] x11: Handle all XI2 crossing mode values in switch This fixes potential assertions if a GTK+ app gets to receive a XINotifyPassiveGrab/Ungrab pointer crossing event, currently triggerable by XIGrabEnter passive grabs. http://bugzilla.gnome.org/show_bug.cgi?id=719762 --- gdk/x11/gdkdevicemanager-xi2.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index b4e3c19cca..6c525b9ee4 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -780,12 +780,16 @@ translate_crossing_mode (gint mode) { switch (mode) { - case NotifyNormal: + case XINotifyNormal: return GDK_CROSSING_NORMAL; - case NotifyGrab: + case XINotifyGrab: + case XINotifyPassiveGrab: return GDK_CROSSING_GRAB; - case NotifyUngrab: + case XINotifyUngrab: + case XINotifyPassiveUngrab: return GDK_CROSSING_UNGRAB; + case XINotifyWhileGrabbed: + /* Fall through, unexpected in pointer crossing events */ default: g_assert_not_reached (); }