From d8ef314fda4caf147162817bae4274910e9abc31 Mon Sep 17 00:00:00 2001
From: Omar Zeidan <omar@zeidan.io>
Date: Tue, 19 Dec 2017 20:38:03 +0100
Subject: Fixes windows not going to save_rect when unmaximimizing

---
 src/core/keybindings.c | 4 +++-
 src/core/window.c      | 2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index 0c9a5e27..388c723f 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -3156,7 +3156,9 @@ handle_unmaximize         (MetaDisplay    *display,
                            XEvent         *event,
                            MetaKeyBinding *binding)
 {
-  if (window->maximized_vertically || window->maximized_horizontally)
+  if (window->maximized_vertically ||
+      window->maximized_horizontally ||
+      META_WINDOW_CORNER_TILED((window)))
     meta_window_unmaximize (window,
                             META_MAXIMIZE_HORIZONTAL |
                             META_MAXIMIZE_VERTICAL);
diff --git a/src/core/window.c b/src/core/window.c
index 86bca3ec..92e230a0 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -2789,6 +2789,8 @@ meta_window_unmaximize (MetaWindow        *window,
   if (unmaximize_horizontally && unmaximize_vertically)
     window->saved_maximize = FALSE;
 
+  window->tile_mode = META_TILE_NONE;
+
   /* Only do something if the window isn't already maximized in the
    * given direction(s).
    */
-- 
cgit v1.2.1