From cfca88bc953f616570daa23f552d505ddbf40b9e Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 8 Apr 2016 16:43:46 -0400 Subject: [PATCH] simplify maximize animation re:maximize_override unsetting on no-animate --- src/bin/e_client.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index a37a42719..50393333e 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -1546,7 +1546,7 @@ _e_client_maximize_done(void *data, E_Efx_Map_Data *emd EINA_UNUSED, Evas_Object evas_object_del(obj); } -static void +static Eina_Bool _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) && @@ -1557,9 +1557,10 @@ _e_client_maximize_run(E_Client *ec, int x, int y, int w, int h) 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); + return EINA_TRUE; } - else - evas_object_geometry_set(ec->frame, x, y, w, h); + evas_object_geometry_set(ec->frame, x, y, w, h); + return EINA_FALSE; } //////////////////////////////////////////////// @@ -3812,12 +3813,9 @@ e_client_maximize(E_Client *ec, E_Maximize max) { int x, y, w, h; e_client_maximize_geometry_get(ec, max, &x, &y, &w, &h); - _e_client_maximize_run(ec, x, y, w, h); + if (!_e_client_maximize_run(ec, x, y, w, h)) + ec->maximize_override = override; } - if (ec->maximize_override && (ec->maximize_anims_disabled || starting || - ec->changes.need_maximize || - (!e_config->window_maximize_animate))) - ec->maximize_override = override; /* Remove previous type */ ec->maximized &= ~E_MAXIMIZE_TYPE; @@ -3967,7 +3965,8 @@ e_client_unmaximize(E_Client *ec, E_Maximize max) e_client_resize_limit(ec, &w, &h); e_comp_object_frame_xy_adjust(ec->frame, x, y, &x, &y); e_comp_object_frame_wh_adjust(ec->frame, w, h, &w, &h); - _e_client_maximize_run(ec, x, y, w, h); + if (!_e_client_maximize_run(ec, x, y, w, h)) + ec->maximize_override = 0; if (vert) ec->saved.h = ec->saved.y = 0; if (horiz)