forked from enlightenment/efl
Eobj: Only try composite objects when really supposed to.
SVN revision: 70132
This commit is contained in:
parent
f8c89e84a2
commit
c92e62b5eb
|
@ -319,7 +319,7 @@ _eobj_op_id_desc_get(Eobj_Op op)
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_eobj_op_internal(Eobj *obj, Eobj_Op op, va_list *p_list)
|
_eobj_op_internal(Eobj *obj, Eobj_Op op, va_list *p_list, Eina_Bool try_comp)
|
||||||
{
|
{
|
||||||
const Eobj_Class *klass;
|
const Eobj_Class *klass;
|
||||||
Eina_Bool ret = EINA_FALSE;
|
Eina_Bool ret = EINA_FALSE;
|
||||||
|
@ -341,13 +341,14 @@ _eobj_op_internal(Eobj *obj, Eobj_Op op, va_list *p_list)
|
||||||
klass = _eobj_kls_itr_next(obj);
|
klass = _eobj_kls_itr_next(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Try composite objects */
|
/* Try composite objects only if it was requested. */
|
||||||
|
if (try_comp)
|
||||||
{
|
{
|
||||||
Eina_List *itr;
|
Eina_List *itr;
|
||||||
Eobj *emb_obj;
|
Eobj *emb_obj;
|
||||||
EINA_LIST_FOREACH(obj->composite_objects, itr, emb_obj)
|
EINA_LIST_FOREACH(obj->composite_objects, itr, emb_obj)
|
||||||
{
|
{
|
||||||
if (_eobj_op_internal(emb_obj, op, p_list))
|
if (_eobj_op_internal(emb_obj, op, p_list, EINA_TRUE))
|
||||||
{
|
{
|
||||||
ret = EINA_TRUE;
|
ret = EINA_TRUE;
|
||||||
goto end;
|
goto end;
|
||||||
|
@ -370,7 +371,7 @@ _eobj_ops_internal(Eobj *obj, va_list *p_list)
|
||||||
op = va_arg(*p_list, Eobj_Op);
|
op = va_arg(*p_list, Eobj_Op);
|
||||||
while (op)
|
while (op)
|
||||||
{
|
{
|
||||||
if (!_eobj_op_internal(obj, op, p_list))
|
if (!_eobj_op_internal(obj, op, p_list, EINA_TRUE))
|
||||||
{
|
{
|
||||||
const Eobj_Op_Description *desc = _eobj_op_id_desc_get(op);
|
const Eobj_Op_Description *desc = _eobj_op_id_desc_get(op);
|
||||||
const char *_id_name = (desc) ? desc->name : NULL;
|
const char *_id_name = (desc) ? desc->name : NULL;
|
||||||
|
@ -410,7 +411,7 @@ eobj_super_do(Eobj *obj, Eobj_Op op, ...)
|
||||||
|
|
||||||
/* Advance the kls itr. */
|
/* Advance the kls itr. */
|
||||||
obj_klass = _eobj_kls_itr_next(obj);
|
obj_klass = _eobj_kls_itr_next(obj);
|
||||||
if (!_eobj_op_internal(obj, op, &p_list))
|
if (!_eobj_op_internal(obj, 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);
|
||||||
const char *_id_name = (desc) ? desc->name : NULL;
|
const char *_id_name = (desc) ? desc->name : NULL;
|
||||||
|
|
Loading…
Reference in New Issue