From 37db3c9e5d07ad8b813107be7cd4ae622793e2aa Mon Sep 17 00:00:00 2001 From: Victor Kareh Date: Thu, 23 May 2019 12:55:13 -0400 Subject: theme-viewer: Fix invisible borders https://bugzilla.gnome.org/show_bug.cgi?id=662895 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/6836a621 --- src/ui/preview-widget.c | 17 +++++++++-------- src/ui/theme-viewer.c | 4 ++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/ui/preview-widget.c b/src/ui/preview-widget.c index e40db6c6..e6e08073 100644 --- a/src/ui/preview-widget.c +++ b/src/ui/preview-widget.c @@ -211,8 +211,8 @@ meta_preview_draw (GtkWidget *widget, border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); gtk_widget_get_allocation (widget, &allocation); - client_width = allocation.width - preview->borders.visible.left - preview->borders.visible.right - border_width * 2; - client_height = allocation.height - preview->borders.visible.top - preview->borders.visible.bottom - border_width * 2; + client_width = allocation.width - preview->borders.total.left - preview->borders.total.right - border_width * 2; + client_height = allocation.height - preview->borders.total.top - preview->borders.total.bottom - border_width * 2; if (client_width < 0) client_width = 1; @@ -254,7 +254,7 @@ meta_preview_get_preferred_width (GtkWidget *widget, ensure_info (preview); - *minimum = *natural = preview->borders.visible.left + preview->borders.visible.right; + *minimum = *natural = preview->borders.total.left + preview->borders.total.right; child = gtk_bin_get_child (GTK_BIN (preview)); if (child && gtk_widget_get_visible (child)) @@ -290,7 +290,7 @@ meta_preview_get_preferred_height (GtkWidget *widget, ensure_info (preview); - *minimum = *natural = preview->borders.visible.top + preview->borders.visible.bottom; + *minimum = *natural = preview->borders.total.top + preview->borders.total.bottom; child = gtk_bin_get_child (GTK_BIN (preview)); if (child && gtk_widget_get_visible (child)) @@ -335,11 +335,12 @@ meta_preview_size_allocate (GtkWidget *widget, gtk_widget_get_visible (child)) { gtk_widget_get_allocation (widget, &widget_allocation); - child_allocation.x = widget_allocation.x + border_width + preview->borders.visible.left; - child_allocation.y = widget_allocation.y + border_width + preview->borders.visible.top; + child_allocation.x = widget_allocation.x + border_width + preview->borders.total.left; + child_allocation.y = widget_allocation.y + border_width + preview->borders.total.top; + + child_allocation.width = MAX (1, widget_allocation.width - border_width * 2 - preview->borders.total.left - preview->borders.total.right); + child_allocation.height = MAX (1, widget_allocation.height - border_width * 2 - preview->borders.total.top - preview->borders.total.bottom); - child_allocation.width = MAX (1, widget_allocation.width - border_width * 2 - preview->borders.visible.left - preview->borders.visible.right); - child_allocation.height = MAX (1, widget_allocation.height - border_width * 2 - preview->borders.visible.top - preview->borders.visible.bottom); gtk_widget_size_allocate (gtk_bin_get_child (GTK_BIN (widget)), &child_allocation); } } diff --git a/src/ui/theme-viewer.c b/src/ui/theme-viewer.c index 8de8a521..466f3bca 100644 --- a/src/ui/theme-viewer.c +++ b/src/ui/theme-viewer.c @@ -1081,8 +1081,8 @@ run_theme_benchmark (void) */ pixmap = gdk_window_create_similar_surface (gtk_widget_get_window (widget), CAIRO_CONTENT_COLOR, - client_width + borders.visible.left + borders.visible.right, - client_height + borders.visible.top + borders.visible.bottom); + client_width + borders.total.left + borders.total.right, + client_height + borders.total.top + borders.total.bottom); cr = cairo_create (pixmap); meta_theme_draw_frame (global_theme, -- cgit v1.2.1