From e9b4d2964e127ee32cefeba15e3d07a8aca91c25 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Tue, 17 Nov 2015 13:51:19 -0500 Subject: [PATCH] ecore-evas-wl: Fix issue of improper window geometry This fixes an issue where maximizing a window would set improper xdg surface window geometry. We receive window configure sizes based on xdg surface window geometry, so we need to subtract framespace there or else window size grows when maximizing/unmaximizing multiple times. This also adjusts the call to xdg_surface_set_window_geometry to account for framespace (Fixes T2842). @fix Signed-off-by: Chris Michael --- .../engines/wayland/ecore_evas_wayland_common.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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 d9d1bae287..fc600e0fc1 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,18 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_ if (nw < 1) nw = 1; if (nh < 1) nh = 1; + 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); @@ -659,8 +671,9 @@ _ecore_evas_wl_common_resize(Ecore_Evas *ee, int w, int h) if (ee->func.fn_resize) ee->func.fn_resize(ee); } + if (wdata->win) - ecore_wl_window_update_size(wdata->win, ee->req.w, ee->req.h); + ecore_wl_window_update_size(wdata->win, w, h); } void