forked from enlightenment/efl
Eobj: Fixed a potential bug in eobj_super_do.
SVN revision: 70014
This commit is contained in:
parent
43f4caf7b0
commit
369617c161
|
@ -406,13 +406,16 @@ eobj_do_internal(Eobj *obj, ...)
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
eobj_super_do(Eobj *obj, Eobj_Op op, ...)
|
eobj_super_do(Eobj *obj, Eobj_Op op, ...)
|
||||||
{
|
{
|
||||||
const Eobj_Class *obj_klass = _eobj_kls_itr_next(obj);
|
const Eobj_Class *obj_klass;
|
||||||
if (!obj_klass) return EINA_TRUE;
|
|
||||||
|
|
||||||
Eina_Bool ret = EINA_TRUE;
|
Eina_Bool ret = EINA_TRUE;
|
||||||
va_list p_list;
|
va_list p_list;
|
||||||
va_start(p_list, op);
|
|
||||||
_eobj_kls_itr_init(obj, op);
|
_eobj_kls_itr_init(obj, op);
|
||||||
|
obj_klass = _eobj_kls_itr_next(obj);
|
||||||
|
|
||||||
|
if (!obj_klass) goto end;
|
||||||
|
|
||||||
|
va_start(p_list, op);
|
||||||
if (!_eobj_op_internal(obj, obj_klass, op, &p_list, EINA_FALSE))
|
if (!_eobj_op_internal(obj, obj_klass, op, &p_list, EINA_FALSE))
|
||||||
{
|
{
|
||||||
const Eobj_Op_Description *desc = _eobj_op_id_desc_get(op);
|
const Eobj_Op_Description *desc = _eobj_op_id_desc_get(op);
|
||||||
|
@ -424,8 +427,10 @@ eobj_super_do(Eobj *obj, Eobj_Op op, ...)
|
||||||
obj_klass->desc->name);
|
obj_klass->desc->name);
|
||||||
ret = EINA_FALSE;
|
ret = EINA_FALSE;
|
||||||
}
|
}
|
||||||
_eobj_kls_itr_end(obj, op);
|
|
||||||
va_end(p_list);
|
va_end(p_list);
|
||||||
|
|
||||||
|
end:
|
||||||
|
_eobj_kls_itr_end(obj, op);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue