From 0611dbc1e9bbf81026e7630a65766c325495bf47 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Fri, 7 Dec 2018 10:46:11 -0600 Subject: [PATCH] efl_ui_win: Don't allow the frame object to change size before first draw This fixes a bug where calling: evas_object_show(win); evas_object_resize(win, 400, 400); elm_run(); Would show a much smaller than 400,400 window on wayland, as the CSD calcs would set the size smaller. It also fixes some differences in startup size between X and wayland for some trivial test clients. Signed-off-by: Derek Foreman Reviewed-by: Chris Michael Differential Revision: https://phab.enlightenment.org/D7438 --- src/lib/elementary/efl_ui_win.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 0d33fe31f0..0eca88120a 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -1551,10 +1551,10 @@ _elm_win_frame_obj_update(Efl_Ui_Win_Data *sd, Eina_Bool force) if (!_elm_win_framespace_set(sd, cx, cy, ow - cw, oh - ch) && (!force)) return; _elm_win_frame_geometry_adjust(sd); - if (sd->first_draw) - evas_object_geometry_get(sd->obj, NULL, NULL, &w, &h); - else - w = ow, h = oh; + + if (!sd->first_draw) return; + + evas_object_geometry_get(sd->obj, NULL, NULL, &w, &h); if (w && h) TRAP(sd, resize, w, h); }