diff --git a/src/lib/evas/canvas/evas_object_intercept.c b/src/lib/evas/canvas/evas_object_intercept.c index f4bbe9db6e..faeedeedf7 100644 --- a/src/lib/evas/canvas/evas_object_intercept.c +++ b/src/lib/evas/canvas/evas_object_intercept.c @@ -132,11 +132,8 @@ _evas_object_intercept_call(Evas_Object *eo_obj, Evas_Object_Intercept_Cb_Type c case EVAS_OBJECT_INTERCEPT_CB_RESIZE: i = va_arg(args, int); j = va_arg(args, int); - if (!internal) - { - if (_efl_canvas_object_efl_gfx_size_set_block(eo_obj, obj, i, j)) - goto end_block; - } + if (_efl_canvas_object_efl_gfx_size_set_block(eo_obj, obj, i, j, internal)) + goto end_block; if (!obj->interceptors) goto end_noblock; blocked = evas_object_intercept_call_resize(eo_obj, obj, i, j); break; diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 18df96d026..317d45abfc 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -1030,9 +1030,9 @@ evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) Eina_Bool _efl_canvas_object_efl_gfx_size_set_block(Eo *eo_obj, Evas_Object_Protected_Data *obj, - Evas_Coord w, Evas_Coord h) + Evas_Coord w, Evas_Coord h, Eina_Bool internal) { - if (obj->doing.in_resize > 0) + if (!internal && (obj->doing.in_resize > 0)) { WRN("evas_object_resize() called on object %p (%s) when in the middle " "of resizing the same object", eo_obj, efl_class_name_get(eo_obj)); diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h index f6a011b46b..06b8c1e522 100644 --- a/src/lib/evas/include/evas_private.h +++ b/src/lib/evas/include/evas_private.h @@ -1707,7 +1707,7 @@ void _efl_canvas_object_clip_prev_reset(Evas_Object_Protected_Data *obj, Eina_Bo Eina_Bool _efl_canvas_object_clip_set_block(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object *eo_clip, Evas_Object_Protected_Data *clip); Eina_Bool _efl_canvas_object_clip_unset_block(Eo *eo_obj, Evas_Object_Protected_Data *obj); -Eina_Bool _efl_canvas_object_efl_gfx_size_set_block(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Coord w, Evas_Coord h); +Eina_Bool _efl_canvas_object_efl_gfx_size_set_block(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Coord w, Evas_Coord h, Eina_Bool internal); void _canvas_event_default_flags_set(Eo *e, void *_pd, va_list *list); void _canvas_event_default_flags_get(Eo *e, void *_pd, va_list *list);