path_bar->event_window = gdk_window_new (gtk_widget_get_parent_window (widget),
&attributes, attributes_mask);
path_bar->event_window = gdk_window_new (gtk_widget_get_parent_window (widget),
&attributes, attributes_mask);
gboolean need_sliders = FALSE;
gint up_slider_offset = 0;
GtkRequisition child_requisition;
gboolean need_sliders = FALSE;
gint up_slider_offset = 0;
GtkRequisition child_requisition;
else if (gtk_widget_get_has_tooltip (child))
gtk_widget_set_tooltip_text (child, NULL);
else if (gtk_widget_get_has_tooltip (child))
gtk_widget_set_tooltip_text (child, NULL);
gtk_widget_set_child_visible (child, TRUE);
gtk_widget_size_allocate (child, &child_allocation);
gtk_widget_set_child_visible (child, TRUE);
gtk_widget_size_allocate (child, &child_allocation);
- gtk_widget_set_child_visible (BUTTON_DATA (list->data)->button, FALSE);
+ child = BUTTON_DATA (list->data)->button;
+ needs_reorder |= gtk_widget_get_child_visible (child) == TRUE;
+ gtk_widget_set_child_visible (child, FALSE);
- gtk_widget_set_child_visible (BUTTON_DATA (list->data)->button, FALSE);
+ child = BUTTON_DATA (list->data)->button;
+ needs_reorder |= gtk_widget_get_child_visible (child) == TRUE;
+ gtk_widget_set_child_visible (child, FALSE);
child_allocation.x = up_slider_offset + allocation->x;
gtk_widget_size_allocate (path_bar->up_slider_button, &child_allocation);
child_allocation.x = up_slider_offset + allocation->x;
gtk_widget_size_allocate (path_bar->up_slider_button, &child_allocation);
gtk_widget_set_child_visible (path_bar->up_slider_button, TRUE);
gtk_widget_show_all (path_bar->up_slider_button);
}
else
gtk_widget_set_child_visible (path_bar->up_slider_button, TRUE);
gtk_widget_show_all (path_bar->up_slider_button);
}
else
- gtk_widget_set_child_visible (path_bar->up_slider_button, FALSE);
+ {
+ needs_reorder |= gtk_widget_get_child_visible (path_bar->up_slider_button) == TRUE;
+ gtk_widget_set_child_visible (path_bar->up_slider_button, FALSE);
+ }
gtk_widget_set_child_visible (path_bar->down_slider_button, TRUE);
gtk_widget_show_all (path_bar->down_slider_button);
gtk_path_bar_update_slider_buttons (path_bar);
}
else
gtk_widget_set_child_visible (path_bar->down_slider_button, TRUE);
gtk_widget_show_all (path_bar->down_slider_button);
gtk_path_bar_update_slider_buttons (path_bar);
}
else
- gtk_widget_set_child_visible (path_bar->down_slider_button, FALSE);
+ {
+ needs_reorder |= gtk_widget_get_child_visible (path_bar->down_slider_button) == TRUE;
+ gtk_widget_set_child_visible (path_bar->down_slider_button, FALSE);
+ }