diff options
author | Miguel A. Colón Vélez <[email protected]> | 2015-01-01 21:24:40 -0500 |
---|---|---|
committer | Miguel A. Colón Vélez <[email protected]> | 2015-01-01 21:24:40 -0500 |
commit | 07f6f968dbe96ff7c8eb4347f2bbb4457f73c30a (patch) | |
tree | fe1810bfa13d635fc3072884bac4383438b637d0 | |
parent | 8a34cf4df4214f8e15e46568ee581b672e559fe8 (diff) | |
download | marco-07f6f968dbe96ff7c8eb4347f2bbb4457f73c30a.tar.bz2 marco-07f6f968dbe96ff7c8eb4347f2bbb4457f73c30a.tar.xz |
BugFix: Can't unmaximize a tiled window.
The removed code did not allow tiled windows to be unmaximized. The code was
trying to retile a tiled window when it was asked to unmaximize it. The only
thing it did was turn a maximized window into a tiled window but that is not
the normal expected behaviour of unmaximization.
.
I also reset window->tile_mode to ensure we always unmaximize correctly.
Some duplicate code was also removed.
.
This bug affects tiling with:
- tile-to-side-w
- tile-to-side-e
- Mouse dragging to the west corner
- Mouse dragging to the east corner
.
Therefore it's an old bug unrelated to the new keybindings.
-rw-r--r-- | src/core/window.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/src/core/window.c b/src/core/window.c index 95d49885..e820a26c 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -2670,14 +2670,9 @@ meta_window_maximize (MetaWindow *window, if (window->tile_mode != META_TILE_NONE) { saved_rect = &window->saved_rect; - window->maximized_vertically = FALSE; - } - - if (window->tile_mode != META_TILE_NONE) - { - saved_rect = &window->saved_rect; window->maximized_vertically = FALSE; + window->tile_mode = META_TILE_NONE; } meta_window_maximize_internal (window, @@ -2780,15 +2775,6 @@ meta_window_unmaximize (MetaWindow *window, /* At least one of the two directions ought to be set */ gboolean unmaximize_horizontally, unmaximize_vertically; - /* Restore tiling if necessary */ - if (window->tile_mode == META_TILE_LEFT || - window->tile_mode == META_TILE_RIGHT) - { - window->maximized_horizontally = FALSE; - meta_window_tile (window); - return; - } - unmaximize_horizontally = directions & META_MAXIMIZE_HORIZONTAL; unmaximize_vertically = directions & META_MAXIMIZE_VERTICAL; g_assert (unmaximize_horizontally || unmaximize_vertically); |