diff --git a/legacy/edje/src/lib/edje_load.c b/legacy/edje/src/lib/edje_load.c index d4052816eb..118d9038c0 100644 --- a/legacy/edje/src/lib/edje_load.c +++ b/legacy/edje/src/lib/edje_load.c @@ -717,20 +717,6 @@ _edje_file_del(Edje *ed) _edje_programs_patterns_clean(ed); if (!((ed->file) && (ed->collection))) return; - if ((ed->file) && (ed->collection)) - { - Eina_List *l; - Edje_Part *ep; - - _edje_textblock_styles_del(ed); - EINA_LIST_FOREACH(ed->collection->parts, l, ep) - { - _edje_text_part_on_del(ed, ep); - _edje_color_class_on_del(ed, ep); - } - _edje_cache_coll_unref(ed->file, ed->collection); - ed->collection = NULL; - } if (ed->table_parts) { int i; @@ -787,6 +773,20 @@ _edje_file_del(Edje *ed) free(rp); } } + if ((ed->file) && (ed->collection)) + { + Eina_List *l; + Edje_Part *ep; + + _edje_textblock_styles_del(ed); + EINA_LIST_FOREACH(ed->collection->parts, l, ep) + { + _edje_text_part_on_del(ed, ep); + _edje_color_class_on_del(ed, ep); + } + _edje_cache_coll_unref(ed->file, ed->collection); + ed->collection = NULL; + } if (ed->file) { _edje_cache_file_unref(ed->file);