summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Expósito <jose.exposito89@gmail.com>2021-06-28 17:51:17 +0200
committerCarlos Garnacho <carlosg@gnome.org>2022-01-26 22:49:53 +0100
commitfe86aa5f6bede676756990c7c6496ef87abf721d (patch)
tree4922d4b7dd2e7f6e491b7c4eeddb603ed8b84445
parent34133ec1e8f5e47f660b6c6b558f2170768d72cb (diff)
downloadgtk+-fe86aa5f6bede676756990c7c6496ef87abf721d.tar.gz
gtkgestureswipe: Don't filter hold events
Part-of: <!3454>
-rw-r--r--gtk/gtkgesturesingle.c4
-rw-r--r--gtk/gtkgestureswipe.c5
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;