[mutter] Fix problem with window unmaximization



commit ff5a73de49543efd1f1d3340d3bd548676400c70
Author: Owen W. Taylor <otaylor fishsoup net>
Date:   Mon Jun 14 16:40:38 2010 -0400

    Fix problem with window unmaximization
    
    A mismerge of the Metacity commit "4943d79 Prevent window self-maximisation"
    caused the window's user set size and position to be saved *before*
    actually resizing the window to the unmaximized position rather than after.
    
    This meant that after unmaximization the window was in an inconsistent
    state and anything that caused a resize to be queued (like a change in
    window properties by the application) would cause it to pop back to
    the maximized size and position.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=621413

 src/core/window.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/src/core/window.c b/src/core/window.c
index 3c3877a..ec92091 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -3235,10 +3235,6 @@ meta_window_unmaximize (MetaWindow        *window,
           window->display->grab_anchor_window_pos = target_rect;
         }
 
-      /* Make sure user_rect is current.
-       */
-      force_save_user_window_placement (window);
-
       if (window->display->compositor)
         {
           MetaRectangle old_rect, new_rect;
@@ -3268,6 +3264,10 @@ meta_window_unmaximize (MetaWindow        *window,
                                    target_rect.height);
         }
 
+      /* Make sure user_rect is current.
+       */
+      force_save_user_window_placement (window);
+
       recalc_window_features (window);
       set_net_wm_state (window);
     }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]