Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje
Dir : e17/libs/edje/src/lib Modified Files: edje_var.c Log Message: warn about cancelling non-existing timers, too =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_var.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- edje_var.c 7 Oct 2005 03:55:28 -0000 1.15 +++ edje_var.c 7 Oct 2005 11:24:07 -0000 1.16 @@ -950,25 +950,44 @@ return et->id; } -void -_edje_var_timer_del(Edje *ed, int id) +static Edje_Var_Timer * +_edje_var_timer_find(Edje *ed, int id) { Evas_List *l; - if (!ed->var_pool) return; + if (!ed->var_pool) return NULL; + for (l = ed->var_pool->timers; l; l = l->next) { - Edje_Var_Timer *et; - - et = l->data; - if (et->id == id) - { - ed->var_pool->timers = evas_list_remove(ed->var_pool->timers, et); - ecore_timer_del(et->timer); - free(et); - return; - } + Edje_Var_Timer *et = l->data; + + if (et->id == id) return et; } + + return NULL; +} + +void +_edje_var_timer_del(Edje *ed, int id) +{ + Edje_Var_Timer *et; + + et = _edje_var_timer_find(ed, id); + if (!et) + { + fprintf(stderr, + "*** EDJE ERROR: Cannot find timer to cancel\n" + "*** NAUGHTY PROGRAMMER!!!\n" + "*** SPANK SPANK SPANK!!!\n" + "*** Now go fix your code. Tut tut tut!\n" + "\n"); + if (getenv("EDJE_ERROR_ABORT")) abort(); + return; + } + + ed->var_pool->timers = evas_list_remove(ed->var_pool->timers, et); + ecore_timer_del(et->timer); + free(et); } int ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs