diff --git a/legacy/ecore/src/lib/ecore/ecore_timer.c b/legacy/ecore/src/lib/ecore/ecore_timer.c index 89476473ae..4ddf8f082f 100644 --- a/legacy/ecore/src/lib/ecore/ecore_timer.c +++ b/legacy/ecore/src/lib/ecore/ecore_timer.c @@ -144,7 +144,7 @@ _ecore_timer_call(double when) { timers = _ecore_list_remove(timers, timer); _ecore_timer_call(when); - if (timer->func(timer->data)) + if ((!timer->delete_me) && (timer->func(timer->data)))) _ecore_timer_set(timer, timer->at + timer->in, timer->in, timer->func, timer->data); else free(timer);