In some cases (like JS libuv events) an animator callback can trigger the
deletion of an animator, changing the list being iterated.
_do_tick(void)
{
Ecore_Animator *animator;
+ Eina_Inlist *tmp;
EINA_INLIST_FOREACH(animators, animator)
{
animator->just_added = EINA_FALSE;
}
if (animators) eina_evlog("!FRAME", NULL, ecore_loop_time_get(), NULL);
- EINA_INLIST_FOREACH(animators, animator)
+ EINA_INLIST_FOREACH_SAFE(animators, tmp, animator)
{
if ((!animator->delete_me) &&
(!animator->suspended) &&