summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lukas Gernert <jangernert@gmail.com>2021-08-25 17:50:12 +0200
committerJan Lukas Gernert <jangernert@gmail.com>2021-08-25 17:50:12 +0200
commit318160d836ef27881b2d93de9548e54cc288e14a (patch)
tree094f2a63eada41bd2dab6e8efbccaee94dc96bc5
parent5e90d63373f5ae26b8d2ebeb73f84570fbe08a0b (diff)
downloadgtk+-318160d836ef27881b2d93de9548e54cc288e14a.tar.gz
GtkTreeExpander: claim expander-icon gestures
Claim the pressed, released and canceled gestures meant for the expander-icon of the TreeExpander. This avoids selecting the row when expanding or collapsing it. Closes #4199
-rw-r--r--gtk/gtktreeexpander.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk/gtktreeexpander.c b/gtk/gtktreeexpander.c
index a13c2400b4..2b4e8b415d 100644
--- a/gtk/gtktreeexpander.c
+++ b/gtk/gtktreeexpander.c
@@ -119,6 +119,8 @@ gtk_tree_expander_click_gesture_pressed (GtkGestureClick *gesture,
gtk_widget_set_state_flags (widget,
GTK_STATE_FLAG_ACTIVE,
FALSE);
+
+ gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
}
static void
@@ -130,6 +132,8 @@ gtk_tree_expander_click_gesture_released (GtkGestureClick *gesture,
{
gtk_widget_unset_state_flags (gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture)),
GTK_STATE_FLAG_ACTIVE);
+
+ gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
}
static void
@@ -139,6 +143,8 @@ gtk_tree_expander_click_gesture_canceled (GtkGestureClick *gesture,
{
gtk_widget_unset_state_flags (gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture)),
GTK_STATE_FLAG_ACTIVE);
+
+ gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
}
static void