diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2021-03-18 18:36:37 +0100 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2021-03-23 18:05:08 +0000 |
commit | b0a0be3ccc113de447ab5019e325552c4cb5b1d5 (patch) | |
tree | 75adee3df7259ef6b53090b81d08a5fff73d688f | |
parent | 0e97c0550e8ea894046659a0e93333b86119553e (diff) | |
download | mutter-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.c | 8 |
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; |