summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2017-09-19 18:18:07 +0200
committerCarlos Garnacho <carlosg@gnome.org>2017-09-19 18:40:51 +0200
commite0a3c9d2deb31beff5aaeb0aabc77bee0e0154bf (patch)
tree06376a280db50ff192368b3cfda4a518a4875a40
parentfb81d7fc8fca701847f614aebc647ce9fd836a4a (diff)
downloadgtk+-e0a3c9d2deb31beff5aaeb0aabc77bee0e0154bf.tar.gz
gtkmain: Ensure to emit real GDK_LEAVE_NOTIFY events.
If we got a GDK_LEAVE_NOTIFY event from GDK, we would reset the GtkPointerFocus, but the event would be silently consumed.
-rw-r--r--gtk/gtkmain.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 7162719aa7..40b939f4b3 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -1494,6 +1494,10 @@ handle_pointing_event (GdkEvent *event)
case GDK_TOUCH_END:
case GDK_TOUCH_CANCEL:
old_target = update_pointer_focus_state (toplevel, event, NULL);
+
+ if (event->type == GDK_LEAVE_NOTIFY)
+ gtk_synthesize_crossing_events (toplevel, old_target, NULL,
+ event, event->crossing.mode);
break;
case GDK_ENTER_NOTIFY:
if (event->crossing.mode == GDK_CROSSING_GRAB ||