cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3550c3808085175cf322670b290bf0c4a70a2fa7
commit 3550c3808085175cf322670b290bf0c4a70a2fa7 Author: Cedric BAIL <[email protected]> Date: Mon Oct 27 23:23:45 2014 +0100 eo: fix composite to actually work. So I don't really understand why the code was not there before, but it resulted in my experiment of making a combobox for elementary just impossible. Now it work at least. --- src/lib/eo/eo.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index a8fc42e..0f2fd9f 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -589,6 +589,9 @@ EAPI Eina_Bool else { func = _dich_func_get(klass, op); + + if (!func) + goto end; } if (EINA_UNLIKELY(func == NULL)) @@ -641,10 +644,10 @@ end: Eo *emb_obj_id; EINA_LIST_FOREACH(((_Eo_Object *) fptr->o.obj)->composite_objects, itr, emb_obj_id) { - _Eo_Object *emb_obj = _eo_obj_pointer_get((Eo_Id)emb_obj_id); + _Eo_Object *emb_obj = _eo_obj_pointer_get((Eo_Id)emb_obj_id); - if (!emb_obj) - goto end2; + if (!emb_obj) + continue; func = _dich_func_get(emb_obj->klass, op); if (func == NULL) @@ -662,7 +665,6 @@ end: } } -end2: { const _Eo_Class *main_klass; main_klass = (is_obj) ? fptr->o.obj->klass : fptr->o.kls; --
