use separate flag for pending wl client unmaximize

also set flag to prevent saved geometry from being overwritten
This commit is contained in:
Mike Blumenkrantz 2016-06-20 16:00:53 -04:00
parent 9a9c09f514
commit b5576dbb8c
2 changed files with 12 additions and 3 deletions

View File

@ -629,7 +629,7 @@ _e_comp_wl_evas_cb_unmaximize_pre(void *data, Evas_Object *obj EINA_UNUSED, void
{
int w, h, ew, eh, *ecw, *ech;
unsigned int pmax = ec->maximized;
ec->comp_data->max = *max;
ec->comp_data->unmax = *max;
if (ec->internal)
ecw = &ec->client.w, ech = &ec->client.h;
else
@ -1176,9 +1176,17 @@ _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)
e_client_maximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | ec->comp_data->max);
{
ec->changes.need_maximize = 1;
e_client_maximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | ec->comp_data->max);
ec->comp_data->max = 0;
ec->changes.need_maximize = 0;
}
if (ec->comp_data->shell.set.unmaximize)
e_client_unmaximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | ec->comp_data->max);
{
e_client_unmaximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | ec->comp_data->unmax);
ec->comp_data->unmax = 0;
}
if (ec->comp_data->shell.set.minimize)
e_client_iconify(ec);
ec->comp_data->shell.set.fullscreen =

View File

@ -309,6 +309,7 @@ struct _E_Comp_Wl_Client_Data
} popup;
E_Maximize max;
E_Maximize unmax;
#ifndef HAVE_WAYLAND_ONLY
E_Pixmap *xwayland_pixmap;
E_Comp_X_Client_Data *xwayland_data;