diff options
author | José Expósito <jose.exposito89@gmail.com> | 2021-06-28 17:51:17 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2022-01-26 22:49:53 +0100 |
commit | fe86aa5f6bede676756990c7c6496ef87abf721d (patch) | |
tree | 4922d4b7dd2e7f6e491b7c4eeddb603ed8b84445 | |
parent | 34133ec1e8f5e47f660b6c6b558f2170768d72cb (diff) | |
download | gtk+-fe86aa5f6bede676756990c7c6496ef87abf721d.tar.gz |
gtkgestureswipe: Don't filter hold events
Part-of: <!3454>
-rw-r--r-- | gtk/gtkgesturesingle.c | 4 | ||||
-rw-r--r-- | gtk/gtkgestureswipe.c | 5 |
2 files changed, 7 insertions, 2 deletions
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; |