From 9e9b5d6b31b4dffabf32ec24374afc64c1f8c91b Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Mon, 9 Nov 2015 11:55:21 -0500 Subject: [PATCH] ecore-evas-wl: Fix issue of resize jumping Summary: When an initial client application was shown and we tried to resize it, the resize would jump by the amount of framespace. This was because the xdg_surface@configure event would be sending window geometry as the width/height params in the event. We need to account for that in the callback of window configure and adjust size accordingly. @fix Signed-off-by: Chris Michael --- .../engines/wayland/ecore_evas_wayland_common.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c index 3cf676f4d2..14b583b531 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c @@ -191,6 +191,22 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_ if (nw < 1) nw = 1; if (nh < 1) nh = 1; + /* NB: We receive window configure sizes based on xdg surface + * window geometry, so we need to subtract framespace here */ + + evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh); + + if (ECORE_EVAS_PORTRAIT(ee)) + { + nw -= fw; + nh -= fh; + } + else + { + nw -= fh; + nh -= fw; + } + if (prev_full != ee->prop.fullscreen) _ecore_evas_wl_common_border_update(ee);