[gtk/wip/carlosg/zoom-no-touchpad-warnings] gtkgesturezoom: Do not check touchpad phase on generic events
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/carlosg/zoom-no-touchpad-warnings] gtkgesturezoom: Do not check touchpad phase on generic events
- Date: Wed, 10 Jun 2020 12:32:37 +0000 (UTC)
commit ba988cd8999c84f9cce13cc4fe5487e05291ab26
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed Jun 10 14:27:14 2020 +0200
gtkgesturezoom: Do not check touchpad phase on generic events
This gesture handles both individual touch events and touchpad gesture
events, and was checking the touchpad phase in generic code paths. This
is dubious since event methods error out on the wrong GdkEventTypes.
Check the touchpad gesture phase within the branch handling touchpad
events, and make it clear which is the gesture phase of all that we are
ignoring.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2825
gtk/gtkgesturezoom.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkgesturezoom.c b/gtk/gtkgesturezoom.c
index 83f8e3a276..d706b502f3 100644
--- a/gtk/gtkgesturezoom.c
+++ b/gtk/gtkgesturezoom.c
@@ -94,15 +94,15 @@ _gtk_gesture_zoom_get_distance (GtkGestureZoom *zoom,
goto out;
last_event = gtk_gesture_get_last_event (gesture, sequences->data);
- phase = gdk_touchpad_event_get_gesture_phase (last_event);
- if (gdk_event_get_event_type (last_event) == GDK_TOUCHPAD_PINCH &&
- (phase == GDK_TOUCHPAD_GESTURE_PHASE_BEGIN ||
- phase == GDK_TOUCHPAD_GESTURE_PHASE_UPDATE ||
- phase == GDK_TOUCHPAD_GESTURE_PHASE_END))
+ if (gdk_event_get_event_type (last_event) == GDK_TOUCHPAD_PINCH)
{
double scale;
+
/* Touchpad pinch */
+ phase = gdk_touchpad_event_get_gesture_phase (last_event);
+ if (phase == GDK_TOUCHPAD_GESTURE_PHASE_CANCEL)
+ goto out;
scale = gdk_touchpad_event_get_pinch_scale (last_event);
*distance = scale;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]