From: Carlos Garnacho Date: Tue, 19 Jun 2018 11:38:09 +0000 (+0200) Subject: gtkgesture: Check claimed status after event delivery X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~22^2~64^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8e3bf65b3bf7d8375105261814c5d80066b8d085;p=gtk4.git gtkgesture: Check claimed status after event delivery 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 --- 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 ||