discomfitor pushed a commit to branch enlightenment-0.21. http://git.enlightenment.org/core/enlightenment.git/commit/?id=a61f64f150030875ab81e340b9b4a2f949144469
commit a61f64f150030875ab81e340b9b4a2f949144469 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Wed Nov 30 11:15:42 2016 -0500 use more accurate determination for applying xdg-shell (un)maximize operations fixes maximizing again --- src/modules/wl_desktop_shell/e_mod_main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index bb9cf5d..d9566d1 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -721,7 +721,7 @@ _xdg_shell_surface_send_configure(struct wl_resource *resource, Eina_Bool fullsc { if (maximized) pending |= STATE_MAXIMIZED; - else if (ec->maximized) + else if (ec->maximized || ec->comp_data->unmax) pending |= STATE_UNMAXIMIZED; } shd->maximized = maximized; @@ -987,13 +987,15 @@ _e_xdg_shell_surface_cb_ack_configure(struct wl_client *client EINA_UNUSED, stru { ec->comp_data->shell.set.maximize = 1; ec->comp_data->shell.set.unmaximize = 0; - ec->comp_data->max = (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH; + if (!ec->comp_data->max) + ec->comp_data->max = (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH; } if (ps->state & STATE_UNMAXIMIZED) { ec->comp_data->shell.set.unmaximize = 1; ec->comp_data->shell.set.maximize = 0; - ec->comp_data->unmax = (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH; + if (!ec->comp_data->unmax) + ec->comp_data->unmax = (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH; } shd->pending = eina_list_remove_list(shd->pending, l); free(ps); --