aboutsummaryrefslogtreecommitdiffstats
path: root/legacy/evas/src/lib/canvas/evas_main.c
diff options
context:
space:
mode:
authorMike McCormack <mj.mccormack@samsung.com>2011-10-13 02:22:29 +0000
committerMike McCormack <mikem@ring3k.org>2011-10-13 02:22:29 +0000
commitee5446fb131fa925acc5a9b0d6cae3706ca0e562 (patch)
tree9d53085dc8aaae8abe5df7b83500c548f5756b7a /legacy/evas/src/lib/canvas/evas_main.c
parenteina: Add eina_clist_element_is_linked() (diff)
downloadefl-ee5446fb131fa925acc5a9b0d6cae3706ca0e562.tar.gz
evas: Use clists to store the render recalculation list
Rather than trying to avoid removing the list element that is currently being processed, keep two lists and move elements to the processed list before recalculating them. Remove items from the list head only, and always append them to the tail. Use the fact that an item can be removed from a clist without needing to know which list it is in. Signed-off-by: Mike McCormack <mj.mccormack@samsung.com> SVN revision: 64030
Diffstat (limited to 'legacy/evas/src/lib/canvas/evas_main.c')
-rw-r--r--legacy/evas/src/lib/canvas/evas_main.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/legacy/evas/src/lib/canvas/evas_main.c b/legacy/evas/src/lib/canvas/evas_main.c
index d3e4c8c52d..c658fb1088 100644
--- a/legacy/evas/src/lib/canvas/evas_main.c
+++ b/legacy/evas/src/lib/canvas/evas_main.c
@@ -120,6 +120,7 @@ evas_new(void)
e->viewport.h = 1;
e->hinting = EVAS_FONT_HINTING_BYTECODE;
e->name_hash = eina_hash_string_superfast_new(NULL);
+ eina_clist_init(&e->calc_list);
#define EVAS_ARRAY_SET(E, Array) \
eina_array_step_set(&E->Array, sizeof (E->Array), 4096);
@@ -253,8 +254,6 @@ evas_free(Evas *e)
EINA_LIST_FREE(e->touch_points, touch_point)
free(touch_point);
- eina_list_free(e->calc_list);
-
e->magic = 0;
free(e);
}