derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a9d9ccefe42a3ac9999a55daa7a0fe6e3ee2a4ca

commit a9d9ccefe42a3ac9999a55daa7a0fe6e3ee2a4ca
Author: Derek Foreman <[email protected]>
Date:   Wed Jan 16 16:44:36 2019 -0600

    edje: convert var timer list to inlist
    
    Since these are only ever on one list, inlist is better.
    
    Signed-off-by: Derek Foreman <[email protected]>
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Cedric BAIL <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D7697
---
 src/lib/edje/edje_private.h |  3 ++-
 src/lib/edje/edje_var.c     | 16 ++++++++++------
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 2781ce4c4c..7c61d59bc1 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -2148,6 +2148,7 @@ struct _Edje_Var_Hash
 
 struct _Edje_Var_Timer
 {
+   EINA_INLIST;
    Edje           *edje;
    int             id;
    Embryo_Function func;
@@ -2168,7 +2169,7 @@ struct _Edje_Var_Animator
 struct _Edje_Var_Pool
 {
    int          id_count;
-   Eina_List   *timers;
+   Eina_Inlist *timers;
    Eina_List   *animators;
    int          size;
    Edje_Var    *vars;
diff --git a/src/lib/edje/edje_var.c b/src/lib/edje/edje_var.c
index 0d66c3d17a..40f32ff363 100644
--- a/src/lib/edje/edje_var.c
+++ b/src/lib/edje/edje_var.c
@@ -20,7 +20,8 @@ _edje_var_timer_cb(void *data)
    embryo_program_vm_push(ed->collection->script);
    _edje_embryo_globals_init(ed);
    embryo_parameter_cell_push(ed->collection->script, (Embryo_Cell)et->val);
-   ed->var_pool->timers = eina_list_remove(ed->var_pool->timers, et);
+   ed->var_pool->timers = eina_inlist_remove(ed->var_pool->timers,
+                                             EINA_INLIST_GET(et));
    fn = et->func;
    free(et);
    {
@@ -239,8 +240,10 @@ _edje_var_shutdown(Edje *ed)
           }
         free(ed->var_pool->vars);
      }
-   EINA_LIST_FREE(ed->var_pool->timers, et)
+   EINA_INLIST_FREE(ed->var_pool->timers, et)
      {
+        ed->var_pool->timers = eina_inlist_remove(ed->var_pool->timers,
+                                                  EINA_INLIST_GET(et));
         ecore_timer_del(et->timer);
         free(et);
      }
@@ -1006,19 +1009,19 @@ _edje_var_timer_add(Edje *ed, double in, const char 
*fname, int val)
         free(et);
         return 0;
      }
-   ed->var_pool->timers = eina_list_prepend(ed->var_pool->timers, et);
+   ed->var_pool->timers = eina_inlist_prepend(ed->var_pool->timers,
+                                              EINA_INLIST_GET(et));
    return et->id;
 }
 
 static Edje_Var_Timer *
 _edje_var_timer_find(Edje *ed, int id)
 {
-   Eina_List *l;
    Edje_Var_Timer *et;
 
    if (!ed->var_pool) return NULL;
 
-   EINA_LIST_FOREACH(ed->var_pool->timers, l, et)
+   EINA_INLIST_FOREACH(ed->var_pool->timers, et)
      if (et->id == id) return et;
 
    return NULL;
@@ -1032,7 +1035,8 @@ _edje_var_timer_del(Edje *ed, int id)
    et = _edje_var_timer_find(ed, id);
    if (!et) return;
 
-   ed->var_pool->timers = eina_list_remove(ed->var_pool->timers, et);
+   ed->var_pool->timers = eina_inlist_remove(ed->var_pool->timers,
+                                              EINA_INLIST_GET(et));
    ecore_timer_del(et->timer);
    free(et);
 }

-- 


Reply via email to