diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c index 11d8feb8cb..7f0daf7331 100644 --- a/src/lib/evas/canvas/evas_object_smart.c +++ b/src/lib/evas/canvas/evas_object_smart.c @@ -1225,9 +1225,8 @@ _efl_canvas_group_group_change(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED) } Eina_Bool -evas_object_smart_changed_get(Evas_Object *eo_obj) +evas_object_smart_changed_get(Evas_Object_Protected_Data *obj) { - Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); Eina_Bool has_map = EINA_FALSE; /* If object is invisible, it's meaningless to figure out changed state @@ -1263,8 +1262,8 @@ evas_object_smart_changed_get(Evas_Object *eo_obj) { Evas_Object_Protected_Data *o2; - EINA_INLIST_FOREACH(evas_object_smart_members_get_direct(eo_obj), o2) - if (evas_object_smart_changed_get(o2->object)) return EINA_TRUE; + EINA_INLIST_FOREACH(evas_object_smart_members_get_direct(obj->object), o2) + if (evas_object_smart_changed_get(o2)) return EINA_TRUE; } return EINA_FALSE; diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index cbd13d315b..e4d76ed710 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -407,7 +407,7 @@ static inline Eina_Bool _evas_render_object_changed_get(Evas_Object_Protected_Data *obj) { if (obj->smart.smart) - return evas_object_smart_changed_get(obj->object); + return evas_object_smart_changed_get(obj); else return obj->changed; } @@ -469,7 +469,7 @@ _evas_render_phase1_direct(Evas_Public_Data *e, if (obj->proxy->redraw || obj->mask->redraw) _evas_render_prev_cur_clip_cache_add(e, obj); - if (!obj->smart.smart || evas_object_smart_changed_get(eo_obj)) + if (!obj->smart.smart || evas_object_smart_changed_get(obj)) { /* proxy sources */ if (obj->proxy->proxies || obj->proxy->proxy_textures) @@ -1926,7 +1926,7 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object *eo_obj, changed = EINA_TRUE; } - if (!changed) changed = evas_object_smart_changed_get(eo_obj); + if (!changed) changed = evas_object_smart_changed_get(obj); /* mark the old map as invalid, so later we don't reuse it as a * cache. */ diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h index cc927afef0..aad7c2f5c3 100644 --- a/src/lib/evas/include/evas_private.h +++ b/src/lib/evas/include/evas_private.h @@ -1608,7 +1608,7 @@ void _evas_object_smart_clipped_smart_move_internal(Evas_Object *eo_obj, Evas_Co void evas_call_smarts_calculate(Evas *e); void evas_object_smart_bounding_box_update(Evas_Object_Protected_Data *obj); void evas_object_smart_need_bounding_box_update(Evas_Smart_Data *o, Evas_Object_Protected_Data *obj); -Eina_Bool evas_object_smart_changed_get(Evas_Object *eo_obj); +Eina_Bool evas_object_smart_changed_get(Evas_Object_Protected_Data *obj); void evas_object_smart_attach(Evas_Object *eo_obj, Evas_Smart *s); void _evas_post_event_callback_call_real(Evas *e, Evas_Public_Data* e_pd, int min_event_id); #define _evas_post_event_callback_call(e, pd, id) do { \