path: root/src/lib/elementary/efl_ui_win.c
diff options
authorJean-Philippe Andre <jp.andre@samsung.com>2016-10-11 16:54:31 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-10-12 11:25:56 +0900
commit8a9f0bd603aaaf3abd3ca9aa87675c9199fe9d09 (patch)
tree0a6e61d5e156ea8b025912c937abe7bcc5cd9c5b /src/lib/elementary/efl_ui_win.c
parentevas/elm: Remove function group_move (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/elementary/efl_ui_win.c')
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 5dca56fbdf..56782307f7 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -2821,11 +2821,13 @@ super_skip:
EOLIAN static void
-_efl_ui_win_efl_canvas_group_group_resize(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord w, Evas_Coord h)
+_efl_ui_win_efl_gfx_size_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord w, Evas_Coord h)
+ if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h))
+ return;
if (sd->img_obj)
- efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h);
if (sd->constrain)
int sw, sh;
@@ -2841,6 +2843,8 @@ _efl_ui_win_efl_canvas_group_group_resize(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coo
if (!sd->response) TRAP(sd, resize, w, h);
+ efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h);
static void