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 <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2015-11-17 13:51:19 -05:00
parent a11bf0d36c
commit e9b4d2964e
1 changed files with 14 additions and 1 deletions

View File

@ -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