eo: an object is invalidated if it is invalidated or if any parent is invalidated.

This commit is contained in:
Cedric BAIL 2018-05-23 19:35:03 -07:00
parent 384f30c8ec
commit 38d8b615c8
1 changed files with 3 additions and 1 deletions

View File

@ -811,12 +811,14 @@ _efl_object_finalized_get(const Eo *obj_id, Efl_Object_Data *pd EINA_UNUSED)
} }
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_object_invalidated_get(const Eo *obj_id, Efl_Object_Data *pd EINA_UNUSED) _efl_object_invalidated_get(const Eo *obj_id, Efl_Object_Data *pd)
{ {
Eina_Bool invalidate; Eina_Bool invalidate;
EO_OBJ_POINTER_RETURN_VAL(obj_id, obj, EINA_TRUE); EO_OBJ_POINTER_RETURN_VAL(obj_id, obj, EINA_TRUE);
invalidate = obj->invalidate || obj->is_invalidating; invalidate = obj->invalidate || obj->is_invalidating;
EO_OBJ_DONE(obj_id); EO_OBJ_DONE(obj_id);
if (!invalidate && pd && pd->parent)
return efl_invalidated_get(pd->parent);
return invalidate; return invalidate;
} }