[gtk/gtk-3-24: 2/3] window: handle configure request when maximized/fullscreen



commit eb71ec911c95bd4f67a9ddddef306aa49a9488ee
Author: Benjamin Otte <otte redhat com>
Date:   Tue Oct 2 18:22:33 2018 +0200

    window: handle configure request when maximized/fullscreen
    
    Commit 42b02d9d ("ignore resize increments for maximized/fullscreen")
    introduced a regression which prevents window from being resized while
    maximized or fullscreen.
    
    Move the check for maximized/fullscreen where the geometry is handled
    rather than ignoring the geometry info when maximized/fullscreen so that
    a client issuing a "move_resize()" while maximized or fullscreen can get
    the requested size when restoring the original window state.
    
    Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1044

 gtk/gtkwindow.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 62a7cb7686..5298470d6f 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -9416,8 +9416,9 @@ gtk_window_compute_configure_request_size (GtkWindow   *window,
   
   info = gtk_window_get_geometry_info (window, FALSE);
 
-  if (priv->need_default_size ||
-      priv->force_resize)
+  if ((priv->need_default_size || priv->force_resize) &&
+      !priv->maximized &&
+      !priv->fullscreen)
     {
       gtk_window_guess_default_size (window, width, height);
       gtk_window_get_remembered_size (window, &w, &h);
@@ -9453,13 +9454,7 @@ gtk_window_compute_configure_request_size (GtkWindow   *window,
       gtk_window_get_remembered_size (window, width, height);
     }
 
-  /* Override any size with gtk_window_resize() values */
-  if (priv->maximized || priv->fullscreen)
-    {
-      /* Unless we are maximized or fullscreen */
-      gtk_window_get_remembered_size (window, width, height);
-    }
-  else if (info)
+  if (info)
     {
       gint resize_width_csd = info->resize_width;
       gint resize_height_csd = info->resize_height;


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