discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=cfca88bc953f616570daa23f552d505ddbf40b9e

commit cfca88bc953f616570daa23f552d505ddbf40b9e
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Apr 8 16:43:46 2016 -0400

    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 a37a427..5039333 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)

-- 


Reply via email to