forked from enlightenment/enlightenment
track client maximize animation agents, delete upon beginning new animation
fixes an issue where unmaximize+maximize chaining would break client sizing
This commit is contained in:
parent
cfca88bc95
commit
4c6a4ea4ce
|
@ -1543,6 +1543,7 @@ _e_client_maximize_done(void *data, E_Efx_Map_Data *emd EINA_UNUSED, Evas_Object
|
|||
{
|
||||
E_Client *ec = data;
|
||||
ec->maximize_override = 0;
|
||||
ec->agent = NULL;
|
||||
evas_object_del(obj);
|
||||
}
|
||||
|
||||
|
@ -1552,10 +1553,9 @@ _e_client_maximize_run(E_Client *ec, int x, int y, int w, int h)
|
|||
if (e_config->window_maximize_animate && (!ec->maximize_anims_disabled) &&
|
||||
(!starting) && (!ec->changes.need_maximize))
|
||||
{
|
||||
Evas_Object *agent;
|
||||
|
||||
agent = e_comp_object_agent_add(ec->frame);
|
||||
e_efx_resize(agent, e_config->window_maximize_transition, E_EFX_POINT(x, y),
|
||||
evas_object_del(ec->agent);
|
||||
ec->agent = e_comp_object_agent_add(ec->frame);
|
||||
e_efx_resize(ec->agent, e_config->window_maximize_transition, E_EFX_POINT(x, y),
|
||||
w, h, e_config->window_maximize_time, _e_client_maximize_done, ec);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
|
|
@ -234,6 +234,7 @@ struct E_Client
|
|||
} pre_cb;
|
||||
Eina_Rectangle client; //client geom
|
||||
Evas_Object *frame; //comp object
|
||||
Evas_Object *agent; //resize agent;
|
||||
E_Zone *zone;
|
||||
E_Desk *desk;
|
||||
|
||||
|
|
Loading…
Reference in New Issue