From b21a3d45399bde08dbf47ed70fd0824023c05557 Mon Sep 17 00:00:00 2001 From: sachiel Date: Tue, 31 Aug 2010 19:32:08 +0000 Subject: [PATCH] Avoiding access in NULL hash and little fixes. If there isn't a font, the hash is NULL. So, just check before to avoid problems. Moreover, removing one line that had been lost in code generate of fonts parts and moving it declaration for the right context By: Fabiano Fidencio git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/edje@51786 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/edje_edit.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/lib/edje_edit.c b/src/lib/edje_edit.c index 2d5ff19..8adfd8e 100644 --- a/src/lib/edje_edit.c +++ b/src/lib/edje_edit.c @@ -6051,7 +6051,6 @@ _edje_generate_source(Evas_Object *obj) Eina_Strbuf *buf; Eina_List *l, *ll; - Eina_Iterator *it; Edje_Font_Directory_Entry *fnt; char *entry; @@ -6101,23 +6100,28 @@ _edje_generate_source(Evas_Object *obj) } /* Fonts */ - it = eina_hash_iterator_data_new(ed->file->fonts); - if (it) + if (ed->file->fonts) { - BUF_APPEND(I0"fonts {\n"); + Eina_Iterator *it; - EINA_ITERATOR_FOREACH(it, fnt) - BUF_APPENDF(I1"font: \"%s\" \"%s\";\n", fnt->file, - fnt->entry); + it = eina_hash_iterator_data_new(ed->file->fonts); + if (it) + { + BUF_APPEND(I0"fonts {\n"); - BUF_APPEND(I0"}\n\n"); - eina_list_free(ll); + EINA_ITERATOR_FOREACH(it, fnt) + BUF_APPENDF(I1"font: \"%s\" \"%s\";\n", fnt->file, + fnt->entry); - if (!ret) - { - ERR("Generating EDC for Fonts"); - eina_strbuf_free(buf); - return NULL; + BUF_APPEND(I0"}\n\n"); + eina_iterator_free(it); + + if (!ret) + { + ERR("Generating EDC for Fonts"); + eina_strbuf_free(buf); + return NULL; + } } } -- 2.7.4