From 9b2eb5541c8595ce3d14e59d0ae9f42ac389f7a3 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 28 Sep 2015 14:42:21 -0400 Subject: [PATCH] use more accurate math to determine whether to apply a client maximize change --- src/bin/e_hints.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c index 83ce387..91de8e3 100644 --- a/src/bin/e_hints.c +++ b/src/bin/e_hints.c @@ -810,12 +810,12 @@ e_hints_window_state_update(E_Client *ec, int state, int action) switch (action) { case ECORE_X_WINDOW_STATE_ACTION_REMOVE: - if (ec->maximized & max[state]) + if ((ec->maximized & max[state]) == max[state]) e_client_unmaximize(ec, max[state]); break; case ECORE_X_WINDOW_STATE_ACTION_ADD: - if (ec->maximized & max[state]) break; + if ((ec->maximized & max[state]) == max[state]) break; ec->changes.need_maximize = 1; ec->maximized &= ~E_MAXIMIZE_TYPE; ec->maximized |= (e_config->maximize_policy & E_MAXIMIZE_TYPE) | max[state]; @@ -823,7 +823,7 @@ e_hints_window_state_update(E_Client *ec, int state, int action) break; case ECORE_X_WINDOW_STATE_ACTION_TOGGLE: - if (ec->maximized & max[state]) + if ((ec->maximized & max[state]) == max[state]) { e_client_unmaximize(ec, max[state]); break; -- 2.7.4