diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index 0b02c088ba..d149cee985 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -366,13 +366,13 @@ _eo_dov_internal(Eo *obj, Eo_Op_Type op_type, va_list *p_list) op = va_arg(*p_list, Eo_Op); } - _eo_unref(obj); - if (obj->do_error) ret = EINA_FALSE; obj->do_error = prev_error; + _eo_unref(obj); + return ret; } @@ -1495,8 +1495,8 @@ eo_composite_attach(Eo *comp_obj, Eo *parent) EO_MAGIC_RETURN(parent, EO_EINA_MAGIC); comp_obj->composite = EINA_TRUE; - eo_parent_set(comp_obj, parent); parent->composite_objects = eina_list_prepend(parent->composite_objects, comp_obj); + eo_parent_set(comp_obj, parent); } EAPI void diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index 389fae9686..2b5b69c671 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -281,7 +281,10 @@ _eo_callback_remove(Private_Data *pd, Eo_Callback_Description *cb) } free(titr); } - pitr = titr; + else + { + pitr = titr; + } } }