From a9d9ccefe42a3ac9999a55daa7a0fe6e3ee2a4ca Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Wed, 16 Jan 2019 16:44:36 -0600 Subject: [PATCH] edje: convert var timer list to inlist Since these are only ever on one list, inlist is better. Signed-off-by: Derek Foreman Reviewed-by: Mike Blumenkrantz Reviewed-by: Cedric BAIL 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); }