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
This commit is contained in:
Carlos Garnacho 2018-06-19 13:38:09 +02:00
parent de30a74cdf
commit 8e3bf65b3b

View File

@ -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 ||