diff --git a/gtk/gtkgesturesingle.c b/gtk/gtkgesturesingle.c index 367d99cf7a..c549e6d23d 100644 --- a/gtk/gtkgesturesingle.c +++ b/gtk/gtkgesturesingle.c @@ -220,6 +220,13 @@ gtk_gesture_single_handle_event (GtkEventController *controller, if (sequence == priv->current_sequence && (event->type == GDK_BUTTON_RELEASE || event->type == GDK_TOUCH_END)) priv->current_button = 0; + else if (!retval) + { + if (button == priv->current_button && event->type == GDK_BUTTON_PRESS) + priv->current_button = 0; + else if (sequence == priv->current_sequence && event->type == GDK_TOUCH_BEGIN) + priv->current_sequence = NULL; + } return retval; }