discomfitor pushed a commit to branch enlightenment-0.19. http://git.enlightenment.org/core/enlightenment.git/commit/?id=608b38b2e7afbbcb1dcb2a150e6b0dbeaed39922
commit 608b38b2e7afbbcb1dcb2a150e6b0dbeaed39922 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Mon Sep 28 14:39:42 2015 -0400 allow client resizes on axes currently unrestricted by maximize state if this isn't explicitly blocked by config options then allowing resizes on the unmaximized axes is necessary in order to avoid accidentally queuing a full unmaximize --- src/bin/e_comp_object.c | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 74050d0..bfbd51e 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -873,13 +873,30 @@ _e_comp_intercept_resize(void *data, Evas_Object *obj, int w, int h) if ((!e_config->allow_manip) && ((cw->ec->maximized & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_BOTH)) return; if ((!cw->ec->shading) && (!cw->ec->shaded)) { - cw->ec->changes.need_unmaximize = 1; - cw->ec->saved.w = iw; - cw->ec->saved.h = ih; - cw->ec->saved.x = cw->ec->client.x - cw->ec->zone->x; - cw->ec->saved.y = cw->ec->client.y - cw->ec->zone->y; - EC_CHANGED(cw->ec); - return; + Eina_Bool reject = EINA_FALSE; + if (cw->ec->maximized & E_MAXIMIZE_VERTICAL) + { + if (cw->ec->client.h != ih) + { + cw->ec->saved.h = ih; + cw->ec->saved.y = cw->ec->client.y - cw->ec->zone->y; + reject = cw->ec->changes.need_unmaximize = 1; + } + } + if (cw->ec->maximized & E_MAXIMIZE_HORIZONTAL) + { + if (cw->ec->client.w != iw) + { + cw->ec->saved.w = iw; + cw->ec->saved.x = cw->ec->client.x - cw->ec->zone->x; + reject = cw->ec->changes.need_unmaximize = 1; + } + } + if (reject) + { + EC_CHANGED(cw->ec); + return; + } } } if (cw->ec->new_client) --