summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2018-06-19 13:38:09 +0200
committerCarlos Garnacho <carlosg@gnome.org>2018-06-19 13:47:38 +0200
commit8e3bf65b3bf7d8375105261814c5d80066b8d085 (patch)
tree01a6c0b2d063de61d7fc92a4597bbb44b6b584ff
parentde30a74cdf43c1fba67d88bae3931a79fef38af1 (diff)
downloadgtk+-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.c6
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 ||