From: José Expósito Date: Mon, 28 Jun 2021 15:51:17 +0000 (+0200) Subject: gtkgestureswipe: Don't filter hold events X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~61^2^2~49^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fe86aa5f6bede676756990c7c6496ef87abf721d;p=gtk4.git gtkgestureswipe: Don't filter hold events Part-of: --- diff --git a/gtk/gtkgesturesingle.c b/gtk/gtkgesturesingle.c index 8a4b7a14c5..bf415698b7 100644 --- a/gtk/gtkgesturesingle.c +++ b/gtk/gtkgesturesingle.c @@ -197,6 +197,10 @@ gtk_gesture_single_handle_event (GtkEventController *controller, } break; + case GDK_TOUCHPAD_HOLD: + if (gdk_touchpad_event_get_n_fingers (event) == 1) + return FALSE; + /* fallthrough */ case GDK_TOUCH_CANCEL: case GDK_GRAB_BROKEN: case GDK_TOUCHPAD_SWIPE: diff --git a/gtk/gtkgestureswipe.c b/gtk/gtkgestureswipe.c index ac52638298..e168aa84a3 100644 --- a/gtk/gtkgestureswipe.c +++ b/gtk/gtkgestureswipe.c @@ -84,8 +84,9 @@ static gboolean gtk_gesture_swipe_filter_event (GtkEventController *controller, GdkEvent *event) { - /* Let touchpad swipe events go through, only if they match n-points */ - if (gdk_event_get_event_type (event) == GDK_TOUCHPAD_SWIPE) + /* Let touchpad swipe and hold events go through, only if they match n-points */ + if (gdk_event_get_event_type (event) == GDK_TOUCHPAD_SWIPE || + gdk_event_get_event_type (event) == GDK_TOUCHPAD_HOLD) { guint n_points; guint n_fingers;