Revert "ee_wayland: Remove pointless ack_configure"

Summary:
This reverts commit a61f254f19.
and a follow up commit that removed some warnings

Apparently this is instrumental in enlightenment's window maximize
animation processing.

The removed bits would force an ack configure when an inbound
configure didn't result in a change that would cause a re-render.
Since this calculation needs knowledge of state ecore_wl2 doesn't
track, it does need to happen here.

ref T7243

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Maniphest Tasks: T7243

Differential Revision: https://phab.enlightenment.org/D6783
This commit is contained in:
Derek Foreman 2018-08-08 14:58:44 -04:00 committed by Mike Blumenkrantz
parent b4112b9735
commit c45348770c
1 changed files with 20 additions and 5 deletions

View File

@ -566,9 +566,9 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
Ecore_Evas *ee;
Ecore_Evas_Engine_Wl_Data *wdata;
Ecore_Wl2_Event_Window_Configure *ev;
int nw = 0, nh = 0, fw, fh, sw, sh, contentw, contenth;
int nw = 0, nh = 0, fw, fh, pfw, pfh, sw, sh, contentw, contenth;
int framew, frameh;
Eina_Bool active, prev_max, prev_full;
Eina_Bool active, prev_max, prev_full, state_change = EINA_FALSE;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
@ -605,13 +605,14 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
evas_output_framespace_get(ee->evas, NULL, NULL, &framew, &frameh);
contentw = wdata->win->set_config.geometry.w - (framew - sw);
contenth = wdata->win->set_config.geometry.h - (frameh - sh);
fw = wdata->win->set_config.geometry.w - contentw;
fh = wdata->win->set_config.geometry.h - contenth;
pfw = fw = wdata->win->set_config.geometry.w - contentw;
pfh = fh = wdata->win->set_config.geometry.h - contenth;
if ((prev_max != ee->prop.maximized) ||
(prev_full != ee->prop.fullscreen) ||
(active != wdata->activated))
{
state_change = EINA_TRUE;
_ecore_evas_wl_common_state_update(ee);
sw = ee->shadow.l + ee->shadow.r;
sh = ee->shadow.t + ee->shadow.b;
@ -622,7 +623,21 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
fh = wdata->win->set_config.geometry.h - contenth;
}
if ((!nw) && (!nh))
return ECORE_CALLBACK_RENEW;
{
if ((wdata->win->set_config.serial != wdata->win->req_config.serial) &&
wdata->win->req_config.serial && wdata->win->surface &&
((!state_change) || ((pfw == fw) && (pfh == fh))))
{
if (wdata->win->xdg_configure_ack)
wdata->win->xdg_configure_ack(wdata->win->xdg_surface,
wdata->win->req_config.serial);
if (wdata->win->zxdg_configure_ack)
wdata->win->zxdg_configure_ack(wdata->win->zxdg_surface,
wdata->win->req_config.serial);
wdata->win->set_config.serial = wdata->win->req_config.serial;
}
return ECORE_CALLBACK_RENEW;
}
if (!ee->prop.borderless)
{