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;
|
E_Client *ec = data;
|
||||||
ec->maximize_override = 0;
|
ec->maximize_override = 0;
|
||||||
|
ec->agent = NULL;
|
||||||
evas_object_del(obj);
|
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) &&
|
if (e_config->window_maximize_animate && (!ec->maximize_anims_disabled) &&
|
||||||
(!starting) && (!ec->changes.need_maximize))
|
(!starting) && (!ec->changes.need_maximize))
|
||||||
{
|
{
|
||||||
Evas_Object *agent;
|
evas_object_del(ec->agent);
|
||||||
|
ec->agent = e_comp_object_agent_add(ec->frame);
|
||||||
agent = e_comp_object_agent_add(ec->frame);
|
e_efx_resize(ec->agent, e_config->window_maximize_transition, E_EFX_POINT(x, y),
|
||||||
e_efx_resize(agent, e_config->window_maximize_transition, E_EFX_POINT(x, y),
|
|
||||||
w, h, e_config->window_maximize_time, _e_client_maximize_done, ec);
|
w, h, e_config->window_maximize_time, _e_client_maximize_done, ec);
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,6 +234,7 @@ struct E_Client
|
||||||
} pre_cb;
|
} pre_cb;
|
||||||
Eina_Rectangle client; //client geom
|
Eina_Rectangle client; //client geom
|
||||||
Evas_Object *frame; //comp object
|
Evas_Object *frame; //comp object
|
||||||
|
Evas_Object *agent; //resize agent;
|
||||||
E_Zone *zone;
|
E_Zone *zone;
|
||||||
E_Desk *desk;
|
E_Desk *desk;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue