diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2016-10-11 16:54:31 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2016-10-12 11:25:56 +0900 |
commit | 8a9f0bd603aaaf3abd3ca9aa87675c9199fe9d09 (patch) | |
tree | 0a6e61d5e156ea8b025912c937abe7bcc5cd9c5b /src/lib/emotion/emotion_smart.c | |
parent | 11b7cf6b728001dbcd42ce41d5ac2e129a835fd8 (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 'src/lib/emotion/emotion_smart.c')
-rw-r--r-- | src/lib/emotion/emotion_smart.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c index 2664739..9b0338d 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 | ||
1946 | EOLIAN static void | 1946 | EOLIAN 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; | ||
1951 | |||
1952 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
1953 | |||
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 | } |