diff options
| author | Carlos Garnacho <carlosg@gnome.org> | 2018-06-19 13:38:09 +0200 |
|---|---|---|
| committer | Carlos Garnacho <carlosg@gnome.org> | 2018-06-19 13:47:38 +0200 |
| commit | 8e3bf65b3bf7d8375105261814c5d80066b8d085 (patch) | |
| tree | 01a6c0b2d063de61d7fc92a4597bbb44b6b584ff | |
| parent | de30a74cdf43c1fba67d88bae3931a79fef38af1 (diff) | |
| download | gtk+-wip/carlosg/issue-1159.tar.gz | |
gtkgesture: Check claimed status after event deliverywip/carlosg/issue-1159
The claimed status check should happen after ::end is emitted,
as the gesture may deny the sequence that much late. In this
case the event should keep propagating.
https://gitlab.gnome.org/GNOME/gtk/issues/1159
Closes: #1159
| -rw-r--r-- | gtk/gtkgesture.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gtk/gtkgesture.c b/gtk/gtkgesture.c index c7aeb29988..7276a3043d 100644 --- a/gtk/gtkgesture.c +++ b/gtk/gtkgesture.c @@ -698,9 +698,6 @@ gtk_gesture_handle_event (GtkEventController *controller, { gboolean was_claimed; - was_claimed = - gtk_gesture_get_sequence_state (gesture, sequence) == GTK_EVENT_SEQUENCE_CLAIMED; - if (_gtk_gesture_update_point (gesture, event, FALSE)) { if (was_recognized && @@ -710,6 +707,9 @@ gtk_gesture_handle_event (GtkEventController *controller, _gtk_gesture_remove_point (gesture, event); } + was_claimed = + gtk_gesture_get_sequence_state (gesture, sequence) == GTK_EVENT_SEQUENCE_CLAIMED; + return was_claimed && was_recognized; } else if (event_type == GDK_MOTION_NOTIFY || |
