discomfitor pushed a commit to branch master.

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

commit b0f2443042ea7673d2b9a911300421b4a1c1d9af
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Apr 8 16:05:00 2016 -0400

    improve behavior of wl client buffered state changes during commits
    
    apply e_config maximize policy for buffered (un)maximize, unset buffered 
states
    after applying them
---
 src/bin/e_comp_wl.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index a789615..c1617b6 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1084,19 +1084,16 @@ _e_comp_wl_surface_state_commit(E_Client *ec, 
E_Comp_Wl_Surface_State *state)
         if (ec->comp_data->shell.set.unfullscreen)
            e_client_unfullscreen(ec);
         if (ec->comp_data->shell.set.maximize)
-          {
-             unsigned int max = (e_config->maximize_policy & E_MAXIMIZE_TYPE) 
| E_MAXIMIZE_BOTH;
-
-             /* FIXME: server-side desync */
-             if (!ec->maximized)
-               {
-                  e_client_maximize(ec, max);
-               }
-          }
+          e_client_maximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) 
| ec->comp_data->max);
         if (ec->comp_data->shell.set.unmaximize)
-          e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
+          e_client_unmaximize(ec, (e_config->maximize_policy & 
E_MAXIMIZE_TYPE) | ec->comp_data->max);
         if (ec->comp_data->shell.set.minimize)
           e_client_iconify(ec);
+        ec->comp_data->shell.set.fullscreen =
+        ec->comp_data->shell.set.unfullscreen =
+        ec->comp_data->shell.set.maximize =
+        ec->comp_data->shell.set.unmaximize =
+        ec->comp_data->shell.set.minimize = 0;
      }
    _e_comp_wl_surface_state_size_update(ec, state);
 

-- 


Reply via email to