actor: Avoid popping the easing state stack once too many

If restore_easing_state() is called on the last easing state on the
stack, clean up the stack, so that we don't leave stale pointers
around to later segfault on.
This commit is contained in:
Emmanuele Bassi 2012-03-17 16:49:35 +00:00
parent 229241b875
commit 05f78306d1

View File

@ -17516,7 +17516,14 @@ clutter_actor_restore_easing_state (ClutterActor *self)
} }
g_array_remove_index (info->states, info->states->len - 1); g_array_remove_index (info->states, info->states->len - 1);
info->cur_state = &g_array_index (info->states, AState, info->states->len - 1);
if (info->states->len > 0)
info->cur_state = &g_array_index (info->states, AState, info->states->len - 1);
else
{
g_array_unref (info->states);
info->states = NULL;
}
} }
/** /**