diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 6453059bbc..8b90c3c831 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4287,6 +4287,9 @@ _gtk_widget_set_sequence_state_internal (GtkWidget *widget, else continue; } + else if (!group && + gtk_gesture_get_sequence_state (gesture, sequence) != GTK_EVENT_SEQUENCE_CLAIMED) + continue; g_signal_handler_block (data->controller, data->sequence_state_changed_id); retval = gtk_gesture_set_sequence_state (gesture, seq, gesture_state); diff --git a/testsuite/gtk/gestures.c b/testsuite/gtk/gestures.c index 0bf3d023f7..e1efddc363 100644 --- a/testsuite/gtk/gestures.c +++ b/testsuite/gtk/gestures.c @@ -347,8 +347,6 @@ test_claim_capture (void) "capture a1, " "capture b1, " "capture c1, " - "b1 state denied, " - "a1 state denied, " "c1 state claimed"); g_string_free (str, TRUE); @@ -393,9 +391,6 @@ test_claim_target (void) "capture b1, " "capture c1, " "target c2, " - /* "c1 state denied, " ? */ - "b1 state denied, " - "a1 state denied, " "c2 state claimed"); g_string_free (str, TRUE); @@ -445,7 +440,6 @@ test_claim_bubble (void) "c3 cancelled, " "c2 cancelled, " "c1 cancelled, " - "a1 state denied, " "b3 state claimed" ); @@ -494,8 +488,6 @@ test_group (void) "capture b1, " "capture c1, " "target c3, " - "b1 state denied, " - "a1 state denied, " "c3 state claimed, " "c2 state claimed, " "target c2");