discomfitor pushed a commit to branch enlightenment-0.19. http://git.enlightenment.org/core/enlightenment.git/commit/?id=de0bffe9c6bca88674f983a6bff86535cf28b381
commit de0bffe9c6bca88674f983a6bff86535cf28b381 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Mon Sep 28 14:36:59 2015 -0400 remove client maximize states during unmaximize only if they are active do not accidentally remove untested states using bad math operations --- src/bin/e_client.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index d070614..3059914 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -3841,9 +3841,12 @@ e_client_unmaximize(E_Client *ec, E_Maximize max) h = ec->saved.h; vert = EINA_TRUE; y = ec->saved.y + ec->zone->y; - ec->maximized &= ~E_MAXIMIZE_VERTICAL; - ec->maximized &= ~E_MAXIMIZE_LEFT; - ec->maximized &= ~E_MAXIMIZE_RIGHT; + if ((max & E_MAXIMIZE_VERTICAL) == E_MAXIMIZE_VERTICAL) + ec->maximized &= ~E_MAXIMIZE_VERTICAL; + if ((max & E_MAXIMIZE_LEFT) == E_MAXIMIZE_LEFT) + ec->maximized &= ~E_MAXIMIZE_LEFT; + if ((max & E_MAXIMIZE_RIGHT) == E_MAXIMIZE_RIGHT) + ec->maximized &= ~E_MAXIMIZE_RIGHT; } if (max & E_MAXIMIZE_HORIZONTAL) { --