From 899cfb3c50e013589540c59c57ba0dd3722255e7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 4 Oct 2017 07:34:30 -0400 Subject: [PATCH] Fix several issues with resizing Some of the border windows were not placed correctly. Patch by Jan Steffens. --- gtk/gtkwindow.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index ffc841871f..a4ba098224 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -6855,7 +6855,7 @@ update_corner_windows (GtkWindow *window, region, 0, 0); cairo_region_destroy (region); - gdk_window_hide (priv->border_window[GDK_WINDOW_EDGE_NORTH_EAST]); + gdk_window_show_unraised (priv->border_window[GDK_WINDOW_EDGE_NORTH_EAST]); } else { @@ -7065,13 +7065,13 @@ update_border_windows (GtkWindow *window) if (resize_n) { - y += window_border.top; + y += window_border.top + handle_v; h -= window_border.top + handle_v; } if (resize_w) { - x += window_border.left; + x += window_border.left + handle_h; w -= window_border.left + handle_h; } @@ -7084,9 +7084,9 @@ update_border_windows (GtkWindow *window) /* North */ if (resize_n) { - gdk_window_move_resize (priv->border_window[GDK_WINDOW_EDGE_SOUTH], - x, window_border.top + height, - w, border.bottom); + gdk_window_move_resize (priv->border_window[GDK_WINDOW_EDGE_NORTH], + x, window_border.top - border.top, + w, border.top); gdk_window_show_unraised (priv->border_window[GDK_WINDOW_EDGE_NORTH]); } @@ -7096,7 +7096,7 @@ update_border_windows (GtkWindow *window) } /* South */ - if (resize_n) + if (resize_s) { gdk_window_move_resize (priv->border_window[GDK_WINDOW_EDGE_SOUTH], x, window_border.top + height, @@ -7109,13 +7109,6 @@ update_border_windows (GtkWindow *window) gdk_window_hide (priv->border_window[GDK_WINDOW_EDGE_SOUTH]); } - /* - * Horizontal edges - */ - - y = (resize_n || resize_s) ? window_border.top + handle_v : 0; - h = (resize_n || resize_s) ? height - 2 * handle_v : height + window_border.top + window_border.bottom; - /* East */ if (resize_e) {