From: Benjamin Otte Date: Sun, 21 Nov 2021 04:32:20 +0000 (+0100) Subject: window: Always clamp to max size X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~5^2~117^2~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=358893aa841c42017160bbe74e74e40c8abc3eb6;p=gtk4.git window: Always clamp to max size When computing the window size, always try to clamp to the max size. This will shrink a window down into a sane size if it was too big before. --- diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 5173068453..32c9798476 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -4184,20 +4184,18 @@ gtk_window_compute_default_size (GtkWindow *window, &minimum, &natural, NULL, NULL); *min_height = minimum; - if (cur_height > 0) - *height = MAX (cur_height, minimum); - else - *height = MAX (minimum, MIN (max_height, natural)); + if (cur_height <= 0) + cur_height = natural; + *height = MAX (minimum, MIN (max_height, cur_height)); gtk_widget_measure (widget, GTK_ORIENTATION_HORIZONTAL, *height, &minimum, &natural, NULL, NULL); *min_width = minimum; - if (cur_width > 0) - *width = MAX (cur_width, minimum); - else - *width = MAX (minimum, MIN (max_width, natural)); + if (cur_width <= 0) + cur_width = natural; + *width = MAX (minimum, MIN (max_width, cur_width)); } else /* GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or CONSTANT_SIZE */ { @@ -4207,20 +4205,19 @@ gtk_window_compute_default_size (GtkWindow *window, &minimum, &natural, NULL, NULL); *min_width = minimum; - if (cur_width > 0) - *width = MAX (cur_width, minimum); - else - *width = MAX (minimum, MIN (max_width, natural)); + if (cur_width <= 0) + cur_width = natural; + *width = MAX (minimum, MIN (max_width, cur_width)); gtk_widget_measure (widget, GTK_ORIENTATION_VERTICAL, *width, &minimum, &natural, NULL, NULL); *min_height = minimum; - if (cur_height > 0) - *height = MAX (cur_height, minimum); - else - *height = MAX (minimum, MIN (max_height, natural)); + if (cur_height <= 0) + cur_height = natural; + + *height = MAX (minimum, MIN (max_height, cur_height)); } } @@ -4262,7 +4259,6 @@ toplevel_compute_size (GdkToplevel *toplevel, &min_width, &min_height, &width, &height); - if (width < min_width) width = min_width; if (height < min_height)