From 860d9870019ea49de1485940001a485953658145 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 4 Dec 2013 12:34:31 +0100 Subject: [PATCH 1/2] 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 fa02b65..c0368bf 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 (); } -- 1.8.4.2