From 6ca959d9e08bbfd8adce674f8f6b9cb680e241d2 Mon Sep 17 00:00:00 2001 From: cedric Date: Wed, 9 May 2012 10:44:02 +0000 Subject: [PATCH] edje: add more protection during edje_emit. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@70894 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/edje_cache.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/edje_cache.c b/src/lib/edje_cache.c index ab64dcf..14a3155 100644 --- a/src/lib/edje_cache.c +++ b/src/lib/edje_cache.c @@ -135,11 +135,21 @@ _edje_file_warn(void *data) Eina_List *l, *ll; Edje *ed; - EINA_LIST_FOREACH_SAFE(edf->edjes, l, ll, ed) + edf->references++; + + EINA_LIST_FOREACH(edf->edjes, l, ed) + _edje_ref(ed); + + EINA_LIST_FOREACH(edf->edjes, l, ed) { _edje_emit(ed, "edje,change,file", "edje"); } + EINA_LIST_FOREACH_SAFE(edf->edjes, l, ll, ed) + _edje_unref(ed); + + edf->references--; + edf->timeout = NULL; return EINA_FALSE; } -- 2.7.4