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; }