summaryrefslogtreecommitdiff
path: root/src/lib/eolian/eolian_aux.c
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-08-28 10:20:48 +0200
committerDaniel Kolesa <d.kolesa@samsung.com>2019-08-28 10:20:49 +0200
commitf951ba50761eecaffe06b0927e759167f28b023f (patch)
tree10c81f0bb23c1abaab409d85b6de8d6b65cd35aa /src/lib/eolian/eolian_aux.c
parent4b511671de56f5a2bad29b84801a8cf68a72d8d8 (diff)
eolian_aux: this must be recursive
Summary: in order to get all callables, this must be recursive, otherwise deeper callables are forgotten. Reviewers: q66 Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9421
Diffstat (limited to 'src/lib/eolian/eolian_aux.c')
-rw-r--r--src/lib/eolian/eolian_aux.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/eolian/eolian_aux.c b/src/lib/eolian/eolian_aux.c
index a66c02c..66cde8a 100644
--- a/src/lib/eolian/eolian_aux.c
+++ b/src/lib/eolian/eolian_aux.c
@@ -89,11 +89,17 @@ _callables_find(const Eolian_Class *cl, Eina_List **funcs,
89 89
90 const Eolian_Class *pcl = eolian_class_parent_get(cl); 90 const Eolian_Class *pcl = eolian_class_parent_get(cl);
91 if (pcl) 91 if (pcl)
92 total += _callables_find_body(pcl, funcs, events, written); 92 {
93 total += _callables_find_body(pcl, funcs, events, written);
94 total += _callables_find(pcl, funcs, events, written);
95 }
93 96
94 Eina_Iterator *itr = eolian_class_extensions_get(cl); 97 Eina_Iterator *itr = eolian_class_extensions_get(cl);
95 EINA_ITERATOR_FOREACH(itr, pcl) 98 EINA_ITERATOR_FOREACH(itr, pcl)
96 total += _callables_find_body(pcl, funcs, events, written); 99 {
100 total += _callables_find_body(pcl, funcs, events, written);
101 total += _callables_find(pcl, funcs, events, written);
102 }
97 103
98 return total; 104 return total;
99} 105}