From 1eaa57788347e4271e96b7a1972f323fe859e02b Mon Sep 17 00:00:00 2001 From: Emanuele Aina Date: Fri, 5 Oct 2012 12:21:10 +0200 Subject: [PATCH] gesture-action: Make _cancel() callable after the gesture has started https://bugzilla.gnome.org/show_bug.cgi?id=685554 --- clutter/clutter-gesture-action.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/clutter/clutter-gesture-action.c b/clutter/clutter-gesture-action.c index d18e19f31..4c9460b23 100644 --- a/clutter/clutter-gesture-action.c +++ b/clutter/clutter-gesture-action.c @@ -292,6 +292,11 @@ stage_captured_event_cb (ClutterActor *stage, return CLUTTER_EVENT_PROPAGATE; } + /* clutter_gesture_action_cancel() may have been called during + * gesture_prepare(), check that the gesture is still active. */ + if (!priv->in_gesture) + return CLUTTER_EVENT_PROPAGATE; + g_signal_emit (action, gesture_signals[GESTURE_BEGIN], 0, actor, &return_value); if (!return_value) @@ -916,7 +921,6 @@ void clutter_gesture_action_cancel (ClutterGestureAction *action) { g_return_if_fail (CLUTTER_IS_GESTURE_ACTION (action)); - g_return_if_fail (!action->priv->in_gesture); cancel_gesture (action);