From e8ad47498b13d5d2e09388d6853356debb593841 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 24 Jan 2016 16:29:40 -0500 Subject: [PATCH] path bar: Don't hide arrows Changing the visibility of child widgets in size-allocate does not work well with out current allocation and layout machinery. To avoid the visual fallout, just keep the arrow buttons visible and only change their sensitivity. https://bugzilla.gnome.org/show_bug.cgi?id=754868 --- gtk/gtkpathbar.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c index a647ae7cd7..df268846c1 100644 --- a/gtk/gtkpathbar.c +++ b/gtk/gtkpathbar.c @@ -527,7 +527,7 @@ gtk_path_bar_size_allocate (GtkWidget *widget, GList *list, *first_button; gint width; gint allocation_width; - gboolean need_sliders = FALSE; + gboolean need_sliders = TRUE; gint up_slider_offset = 0; gint down_slider_offset = 0; GtkRequisition child_requisition; @@ -585,7 +585,7 @@ gtk_path_bar_size_allocate (GtkWidget *widget, else first_button = path_bar->priv->button_list; need_sliders = TRUE; - + /* To see how much space we have, and how many buttons we can display. * We start at the first button, count forward until hit the new * button, then count backwards. @@ -743,7 +743,7 @@ gtk_path_bar_size_allocate (GtkWidget *widget, needs_reorder |= gtk_widget_get_child_visible (path_bar->priv->up_slider_button) == TRUE; gtk_widget_set_child_visible (path_bar->priv->up_slider_button, FALSE); } - + if (need_sliders) { child_allocation.width = path_bar->priv->slider_width;