discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=b0f2443042ea7673d2b9a911300421b4a1c1d9af
commit b0f2443042ea7673d2b9a911300421b4a1c1d9af Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Fri Apr 8 16:05:00 2016 -0400 improve behavior of wl client buffered state changes during commits apply e_config maximize policy for buffered (un)maximize, unset buffered states after applying them --- src/bin/e_comp_wl.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index a789615..c1617b6 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -1084,19 +1084,16 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state) if (ec->comp_data->shell.set.unfullscreen) e_client_unfullscreen(ec); if (ec->comp_data->shell.set.maximize) - { - unsigned int max = (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH; - - /* FIXME: server-side desync */ - if (!ec->maximized) - { - e_client_maximize(ec, max); - } - } + e_client_maximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | ec->comp_data->max); if (ec->comp_data->shell.set.unmaximize) - e_client_unmaximize(ec, E_MAXIMIZE_BOTH); + e_client_unmaximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | ec->comp_data->max); if (ec->comp_data->shell.set.minimize) e_client_iconify(ec); + ec->comp_data->shell.set.fullscreen = + ec->comp_data->shell.set.unfullscreen = + ec->comp_data->shell.set.maximize = + ec->comp_data->shell.set.unmaximize = + ec->comp_data->shell.set.minimize = 0; } _e_comp_wl_surface_state_size_update(ec, state); --