discomfitor pushed a commit to branch master.

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

commit e3f4f0f9763a49ccdc28a0c56000bb3afb6a6ce0
Author: Seunghun Lee <shiin....@samsung.com>
Date:   Fri Aug 29 13:46:25 2014 -0400

    set the maximized valuable of E_Client before calling 
_e_client_frame_update when unmaximize the client.
    
    Summary: since maximized valuable is used in _e_client_frame_update, so the 
valuable should be updated.
    
    Test Plan:
    (1) run any application.
    (2) Maximize the app by key binding.
    (3) Change the border type.
    (4) Unmaximize the it by key binding.
    (5) try to maximize it again, but couldn't
    
    Reviewers: zmike
    
    Subscribers: cedric
    
    Differential Revision: https://phab.enlightenment.org/D1357
---
 src/bin/e_client.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 15349b5..ff8afe2 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -3674,8 +3674,15 @@ e_client_unmaximize(E_Client *ec, E_Maximize max)
 
         if ((ec->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN)
           {
+             E_Maximize tmp_max = ec->maximized;
+
+             //un-set maximized state for updating frame.
+             ec->maximized = E_MAXIMIZE_NONE;
              _e_client_frame_update(ec);
+             // re-set maximized state for unmaximize smart callback.
+             ec->maximized = tmp_max;
              evas_object_smart_callback_call(ec->frame, "unmaximize", NULL);
+             // un-set maximized state.
              ec->maximized = E_MAXIMIZE_NONE;
              e_client_util_move_resize_without_frame(ec,
                                                      ec->saved.x + ec->zone->x,

-- 


Reply via email to