summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/eolian2/sources.c12
1 files 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)
727 727
728 /* inherits in EFL_DEFINE_CLASS */ 728 /* inherits in EFL_DEFINE_CLASS */
729 { 729 {
730 Eina_Iterator *itr = eolian_class_inherits_get(cl);
731 const char *iname; 730 const char *iname;
731 Eina_Iterator *itr = eolian_class_inherits_get(cl);
732 /* no inherits, NULL parent */
733 if (!itr)
734 eina_strbuf_append(buf, ", NULL");
732 EINA_ITERATOR_FOREACH(itr, iname) 735 EINA_ITERATOR_FOREACH(itr, iname)
733 { 736 {
737 char *inameu = NULL;
738 const Eolian_Class *icl = eolian_class_get_by_name(iname);
739 eo_gen_class_names_get(icl, NULL, &inameu, NULL);
734 eina_strbuf_append(buf, ", "); 740 eina_strbuf_append(buf, ", ");
735 eina_strbuf_append_printf(buf, "%s_%s", cnameu, 741 eina_strbuf_append_printf(buf, "%s_%s", inameu, _cl_type_str_get(icl));
736 _cl_type_str_get(eolian_class_get_by_name(iname))); 742 free(inameu);
737 } 743 }
738 eina_iterator_free(itr); 744 eina_iterator_free(itr);
739 } 745 }