diff options
author | Emanuele Aina <emanuele.aina@collabora.com> | 2012-10-05 12:21:10 +0200 |
---|---|---|
committer | Emanuele Aina <emanuele.aina@collabora.com> | 2012-10-10 21:15:48 +0200 |
commit | 94272a41fd62ef0efb8dd1090a837275356dba4d (patch) | |
tree | b0ad795e103b83e9f69ff9279ce28aac6bcb0301 | |
parent | 6b1ae5c4ef9ed826a98085ea873729e08c69d97e (diff) | |
download | clutter-94272a41fd62ef0efb8dd1090a837275356dba4d.tar.gz |
gesture-action: Make _cancel() callable after the gesture has started
https://bugzilla.gnome.org/show_bug.cgi?id=685554
-rw-r--r-- | clutter/clutter-gesture-action.c | 6 |
1 files changed, 5 insertions, 1 deletions
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); |