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;

-- 


Reply via email to