From c91bb90bf231e93f05b4b43809b194aeb3b2f59c Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Fri, 13 Nov 2009 16:57:12 +0000 Subject: [PATCH] * ecore: Fix destruction of frozen timer, by not delaying their destruction. SVN revision: 43665 --- legacy/ecore/src/lib/ecore/ecore_timer.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/legacy/ecore/src/lib/ecore/ecore_timer.c b/legacy/ecore/src/lib/ecore/ecore_timer.c index fa2c55df9f..66fe8e14e1 100644 --- a/legacy/ecore/src/lib/ecore/ecore_timer.c +++ b/legacy/ecore/src/lib/ecore/ecore_timer.c @@ -157,6 +157,20 @@ ecore_timer_del(Ecore_Timer *timer) "ecore_timer_del"); return NULL; } + + if (timer->frozen) + { + void *data = timer->data; + + suspended = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer)); + free(timer); + + if (timer->delete_me) + timers_delete_me--; + + return data; + } + if (timer->delete_me) return timer->data; timers_delete_me++; timer->delete_me = 1;