[gtk/wip/carlosg/stop-spinbutton-stop: 1/3] gtkgesture: ::cancel if a claimed sequence goes denied
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/carlosg/stop-spinbutton-stop: 1/3] gtkgesture: ::cancel if a claimed sequence goes denied
- Date: Wed, 5 Aug 2020 22:03:07 +0000 (UTC)
commit dc8adcda0e06aa0c3d650ea8df81667113ecb08e
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed Aug 5 23:51:50 2020 +0200
gtkgesture: ::cancel if a claimed sequence goes denied
The regular paths just emit ::end, which isn't the whole thing.
This gives an opportunity to gestures that are stolen the sequence
to clean themselves up.
gtk/gtkgesture.c | 4 ++++
1 file changed, 4 insertions(+)
---
diff --git a/gtk/gtkgesture.c b/gtk/gtkgesture.c
index 1a791d3339..544ef87bd3 100644
--- a/gtk/gtkgesture.c
+++ b/gtk/gtkgesture.c
@@ -1014,6 +1014,10 @@ gtk_gesture_set_sequence_state (GtkGesture *gesture,
data->state != GTK_EVENT_SEQUENCE_NONE)
return FALSE;
+ if (state == GTK_EVENT_SEQUENCE_DENIED &&
+ data->state == GTK_EVENT_SEQUENCE_CLAIMED)
+ _gtk_gesture_cancel_sequence (gesture, sequence);
+
data->state = state;
gtk_widget_cancel_event_sequence (gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture)),
gesture, sequence, state);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]