mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 21:51:08 +00:00
gtkswitch: Don't be eager in accepting the gesture
The gesture should be accepted whenever it triggers uncancellable actions in the widget. This means it should be accepted if the click does result in toggling the switch. This leaves the pan gesture room to handle dragging the handle. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2895
This commit is contained in:
parent
3f55bfe2cb
commit
b81bbde7c8
@ -205,8 +205,6 @@ gtk_switch_click_gesture_pressed (GtkGestureClick *gesture,
|
||||
if (!gtk_widget_compute_bounds (GTK_WIDGET (self), GTK_WIDGET (self), &switch_bounds))
|
||||
return;
|
||||
|
||||
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
|
||||
|
||||
/* If the press didn't happen in the draggable handle,
|
||||
* cancel the pan gesture right away
|
||||
*/
|
||||
@ -228,7 +226,10 @@ gtk_switch_click_gesture_released (GtkGestureClick *gesture,
|
||||
|
||||
if (gtk_widget_contains (GTK_WIDGET (self), x, y) &&
|
||||
gtk_gesture_handles_sequence (GTK_GESTURE (gesture), sequence))
|
||||
gtk_switch_begin_toggle_animation (self);
|
||||
{
|
||||
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
|
||||
gtk_switch_begin_toggle_animation (self);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user