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 | |
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 '')
-rw-r--r-- | src/lib/emotion/efl_canvas_video.eo | 2 | ||||
-rw-r--r-- | src/lib/emotion/emotion_smart.c | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/emotion/efl_canvas_video.eo b/src/lib/emotion/efl_canvas_video.eo index fb9b96d4ae..9715347def 100644 --- a/src/lib/emotion/efl_canvas_video.eo +++ b/src/lib/emotion/efl_canvas_video.eo | |||
@@ -54,10 +54,10 @@ class Efl.Canvas.Video (Efl.Canvas.Group, Efl.File, Efl.Player, Efl.Image, Efl.I | |||
54 | Efl.Gfx.color.set; | 54 | Efl.Gfx.color.set; |
55 | Efl.Gfx.visible.set; | 55 | Efl.Gfx.visible.set; |
56 | Efl.Gfx.position.set; | 56 | Efl.Gfx.position.set; |
57 | Efl.Gfx.size.set; | ||
57 | Efl.Canvas.Object.clip.set; | 58 | Efl.Canvas.Object.clip.set; |
58 | Efl.Canvas.Group.group_add; | 59 | Efl.Canvas.Group.group_add; |
59 | Efl.Canvas.Group.group_del; | 60 | Efl.Canvas.Group.group_del; |
60 | Efl.Canvas.Group.group_resize; | ||
61 | Efl.File.file.set; | 61 | Efl.File.file.set; |
62 | Efl.File.file.get; | 62 | Efl.File.file.get; |
63 | Efl.Player.play.set; | 63 | Efl.Player.play.set; |
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 | ||
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 | } |