diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2017-09-19 18:18:07 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2017-09-19 18:40:51 +0200 |
commit | e0a3c9d2deb31beff5aaeb0aabc77bee0e0154bf (patch) | |
tree | 06376a280db50ff192368b3cfda4a518a4875a40 | |
parent | fb81d7fc8fca701847f614aebc647ce9fd836a4a (diff) | |
download | gtk+-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.c | 4 |
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 || |