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

Reply via email to