state: Fix crasher when removing the last key of a transitioning state
If ClutterState is in the middle of a transition and you remove all the keys from the target state, the target state will be destroyed without stopping the animation/unsetting the target state. This caused an invalid memory access.
This commit is contained in:
parent
5700b34b9c
commit
73dcbedc80
1 changed files with 4 additions and 0 deletions
|
@ -302,6 +302,10 @@ again_for_target_state:
|
|||
/* no more keys with transitions to this target_state*/
|
||||
if (target_state->keys == NULL)
|
||||
{
|
||||
/* If this state is the current state, unset the state */
|
||||
if (target_state == this->priv->target_state)
|
||||
clutter_state_set_state (this, NULL);
|
||||
|
||||
/* remove any keys that exist that uses this state as a source */
|
||||
clutter_state_remove_key (this, s->data, NULL, NULL, NULL);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue