summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2021-03-18 18:36:37 +0100
committerMarge Bot <marge-bot@gnome.org>2021-03-23 18:05:08 +0000
commitb0a0be3ccc113de447ab5019e325552c4cb5b1d5 (patch)
tree75adee3df7259ef6b53090b81d08a5fff73d688f
parent0e97c0550e8ea894046659a0e93333b86119553e (diff)
downloadmutter-b0a0be3ccc113de447ab5019e325552c4cb5b1d5.tar.gz
clutter: Update ClutterGestureAction point position before ::prepare
We might want to perform distance/threshold checks in the ::prepare vfunc, but we didn't record the last motion event yet. This used to give a delta of 0/0 between the press and last motion coordinates, despite the ClutterGestureAction having a trigger threshold. This happens no longer. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1791>
-rw-r--r--clutter/clutter/clutter-gesture-action.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/clutter/clutter/clutter-gesture-action.c b/clutter/clutter/clutter-gesture-action.c
index 9b5613bea..ab69bcf37 100644
--- a/clutter/clutter/clutter-gesture-action.c
+++ b/clutter/clutter/clutter-gesture-action.c
@@ -416,12 +416,10 @@ stage_captured_event_cb (ClutterActor *stage,
return CLUTTER_EVENT_PROPAGATE;
}
+ gesture_update_motion_point (point, event);
+
if (!begin_gesture (action, actor))
- {
- if ((point = gesture_find_point (action, event, &position)) != NULL)
- gesture_update_motion_point (point, event);
- return CLUTTER_EVENT_PROPAGATE;
- }
+ return CLUTTER_EVENT_PROPAGATE;
if ((point = gesture_find_point (action, event, &position)) == NULL)
return CLUTTER_EVENT_PROPAGATE;