forked from enlightenment/efl
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:
parent
a11bf0d36c
commit
e9b4d2964e
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue