discomfitor pushed a commit to branch master.

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

commit 5b9dec214e111d9231a35d7c25c362310977070b
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Mar 10 15:57:15 2017 -0500

    only save client size info on maximize/fullscreen when protocol visible
    
    a client which begins in one of these states must set its size again when
    removing the state
---
 src/bin/e_client.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index c07a460..e87c109 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -4064,13 +4064,15 @@ e_client_maximize(E_Client *ec, E_Maximize max)
      {
         /* Horizontal hasn't been set */
         ec->saved.x = ec->client.x - ec->zone->x;
-        ec->saved.w = ec->client.w;
+        if (ec->visible)
+          ec->saved.w = ec->client.w;
      }
    if (!(ec->maximized & E_MAXIMIZE_VERTICAL))
      {
         /* Vertical hasn't been set */
         ec->saved.y = ec->client.y - ec->zone->y;
-        ec->saved.h = ec->client.h;
+        if (ec->visible)
+          ec->saved.h = ec->client.h;
      }
 
    ec->saved.zone = ec->zone->num;
@@ -4293,8 +4295,11 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy)
      {
         ec->saved.x = ec->client.x - ec->zone->x;
         ec->saved.y = ec->client.y - ec->zone->y;
-        ec->saved.w = ec->client.w;
-        ec->saved.h = ec->client.h;
+        if (ec->visible)
+          {
+             ec->saved.w = ec->client.w;
+             ec->saved.h = ec->client.h;
+          }
      }
    ec->saved.maximized = ec->maximized;
    ec->saved.zone = ec->zone->num;

-- 


Reply via email to