summaryrefslogtreecommitdiff
path: root/src/bin/e_client.c
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2016-04-08 16:43:46 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2016-04-08 16:43:46 -0400
commitcfca88bc953f616570daa23f552d505ddbf40b9e (patch)
treee6834840f87c2438ed9de25cd08c25085717ed5d /src/bin/e_client.c
parent63af4ea865106938866b50b187057e7100c141d7 (diff)
downloadenlightenment-cfca88bc953f616570daa23f552d505ddbf40b9e.tar.gz
simplify maximize animation re:maximize_override unsetting on no-animate
Diffstat (limited to 'src/bin/e_client.c')
-rw-r--r--src/bin/e_client.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index a37a427195..50393333e6 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)