From 38d8b615c829d52e21175d18b6cb494f2864b7db Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Wed, 23 May 2018 19:35:03 -0700 Subject: [PATCH] eo: an object is invalidated if it is invalidated or if any parent is invalidated. --- src/lib/eo/eo_base_class.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index 8687b9b923..815d6ba264 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -811,12 +811,14 @@ _efl_object_finalized_get(const Eo *obj_id, Efl_Object_Data *pd EINA_UNUSED) } 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; EO_OBJ_POINTER_RETURN_VAL(obj_id, obj, EINA_TRUE); invalidate = obj->invalidate || obj->is_invalidating; EO_OBJ_DONE(obj_id); + if (!invalidate && pd && pd->parent) + return efl_invalidated_get(pd->parent); return invalidate; }