From cd58a681cfe1a6ecce49e5d54ebba30d10275c1b Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Fri, 30 Sep 2016 14:15:07 +0200 Subject: [PATCH] eolian gen2: proper generation of inherits in class def --- src/bin/eolian2/sources.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/bin/eolian2/sources.c b/src/bin/eolian2/sources.c index 7c8401e99e..9f0d4e9f91 100644 --- a/src/bin/eolian2/sources.c +++ b/src/bin/eolian2/sources.c @@ -727,13 +727,19 @@ eo_gen_source_gen(const Eolian_Class *cl, Eina_Strbuf *buf) /* inherits in EFL_DEFINE_CLASS */ { - Eina_Iterator *itr = eolian_class_inherits_get(cl); const char *iname; + Eina_Iterator *itr = eolian_class_inherits_get(cl); + /* no inherits, NULL parent */ + if (!itr) + eina_strbuf_append(buf, ", NULL"); EINA_ITERATOR_FOREACH(itr, iname) { + char *inameu = NULL; + const Eolian_Class *icl = eolian_class_get_by_name(iname); + eo_gen_class_names_get(icl, NULL, &inameu, NULL); eina_strbuf_append(buf, ", "); - eina_strbuf_append_printf(buf, "%s_%s", cnameu, - _cl_type_str_get(eolian_class_get_by_name(iname))); + eina_strbuf_append_printf(buf, "%s_%s", inameu, _cl_type_str_get(icl)); + free(inameu); } eina_iterator_free(itr); }