diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-07-13 15:44:58 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2020-07-13 15:48:12 +0200 |
commit | 35d2539ef802f029fbcc1c27df3716f3fbad5840 (patch) | |
tree | ad54a59076cc926f4b00ef1c6c773280e4736012 | |
parent | 53831e67a77aaaacc17a8f7ec9a942bd097e9e2b (diff) | |
download | gtk+-35d2539ef802f029fbcc1c27df3716f3fbad5840.tar.gz |
gtkwindowhandle: Only claim gesture on action
The press gesture does not need to set claimed state just for n-press
tracking, it will however reset all other click gestures on each press
if the event gets propagated all the way up.
Fixes tracking of multi-press in gestures in widgets that are children
of the window handle. E.g. the headerbar listview in the "File browser"
gtk4-demo demo.
-rw-r--r-- | gtk/gtkwindowhandle.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gtk/gtkwindowhandle.c b/gtk/gtkwindowhandle.c index 3d28d28b2f..437a13c7c6 100644 --- a/gtk/gtkwindowhandle.c +++ b/gtk/gtkwindowhandle.c @@ -351,10 +351,11 @@ click_gesture_pressed_cb (GtkGestureClick *gesture, { case GDK_BUTTON_PRIMARY: if (n_press == 2) - perform_titlebar_action (self, event, button, n_press); - - gtk_gesture_set_sequence_state (GTK_GESTURE (gesture), - sequence, GTK_EVENT_SEQUENCE_CLAIMED); + { + perform_titlebar_action (self, event, button, n_press); + gtk_gesture_set_sequence_state (GTK_GESTURE (gesture), + sequence, GTK_EVENT_SEQUENCE_CLAIMED); + } break; case GDK_BUTTON_SECONDARY: |