discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=b366d8bfb1b6fc77b7eb41dfe5e982b190d75de3
commit b366d8bfb1b6fc77b7eb41dfe5e982b190d75de3 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Thu Mar 17 13:39:09 2016 -0400 use agent objects for maximize effects this fixes maximize effects on csd windows by providing an object which will return usable geometry with evas_object_geometry_get() --- src/bin/e_client.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index c7e270d..1e125b2 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -1545,18 +1545,24 @@ _e_client_cb_evas_restack(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA //////////////////////////////////////////////// static void -_e_client_maximize_done(void *data, E_Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj EINA_UNUSED) +_e_client_maximize_done(void *data, E_Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj) { E_Client *ec = data; ec->maximize_override = 0; + evas_object_del(obj); } static void _e_client_maximize_run(E_Client *ec, int x, int y, int w, int h) { if (e_config->window_maximize_animate && (!starting) && (!ec->changes.need_maximize)) - e_efx_resize(ec->frame, e_config->window_maximize_transition, E_EFX_POINT(x, y), - w, h, e_config->window_maximize_time, _e_client_maximize_done, ec); + { + 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), + w, h, e_config->window_maximize_time, _e_client_maximize_done, ec); + } else evas_object_geometry_set(ec->frame, x, y, w, h); } --