path: root/src/lib/emotion/emotion_smart.c
diff options
authorJean-Philippe Andre <>2016-10-11 16:54:31 +0900
committerJean-Philippe Andre <>2016-10-12 11:25:56 +0900
commit8a9f0bd603aaaf3abd3ca9aa87675c9199fe9d09 (patch)
tree0a6e61d5e156ea8b025912c937abe7bcc5cd9c5b /src/lib/emotion/emotion_smart.c
parent11b7cf6b728001dbcd42ce41d5ac2e129a835fd8 (diff)
evas/elm: Remove function group_resize
This is an override of efl_gfx_size_set. Same as before, the order of operations matter so it is possible that a corner case will break. In particular, legacy code was: - intercept - smart resize (do stuff), super, super, super - evas object resize The new code is more like: - intercept - super, super, super, evas object resize - do stuff But unfortunately this broke elm_widget (read: all widgets) as the internal resize was done before the object resize. So, inside the resize event cb, the resize_obj size would not match the smart object size. >_<
Diffstat (limited to '')
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c
index 266473905c..9b0338d1d3 100644
--- a/src/lib/emotion/emotion_smart.c
+++ b/src/lib/emotion/emotion_smart.c
@@ -1944,8 +1944,13 @@ _efl_canvas_video_efl_gfx_position_set(Evas_Object *obj, Efl_Canvas_Video_Data *
1944} 1944}
1945 1945
1946EOLIAN static void 1946EOLIAN static void
1947_efl_canvas_video_efl_canvas_group_group_resize(Evas_Object *obj, Efl_Canvas_Video_Data *sd, Evas_Coord w, Evas_Coord h) 1947_efl_canvas_video_efl_gfx_size_set(Evas_Object *obj, Efl_Canvas_Video_Data *sd, Evas_Coord w, Evas_Coord h)
1948{ 1948{
1949 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h))
1950 return;
1952 efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h);
1949 _efl_canvas_video_aspect_border_apply(obj, sd, w, h); 1954 _efl_canvas_video_aspect_border_apply(obj, sd, w, h);
1950 evas_object_resize(sd->bg, w, h); 1955 evas_object_resize(sd->bg, w, h);
1951} 1956}