diff options
author | Benjamin Otte <otte@redhat.com> | 2013-01-14 18:11:50 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2013-01-14 18:13:10 +0100 |
commit | cba4156ef67ff3f593e2700d1c4c532b3a9d933f (patch) | |
tree | 934e87abb110a718e806135cf54b28887c02992c /gtk/gtkscrolledwindow.c | |
parent | 97ba4b1b8eb82563f13762a4bd8cfe9beb8a121c (diff) | |
download | gtk+-cba4156ef67ff3f593e2700d1c4c532b3a9d933f.tar.gz |
scrolledwindow: Use child-visible instead of visible for scrollbars
We want to reserve space for the size of the scrollbars even when they
are not visible. And because toggling visibile to off now returns 0 for
size requests, this won't work anymore.
Diffstat (limited to 'gtk/gtkscrolledwindow.c')
-rw-r--r-- | gtk/gtkscrolledwindow.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 7929863a02..94c6c9632e 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -2159,11 +2159,9 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gtk_scrolled_window_relative_allocation (widget, &relative_allocation); } + gtk_widget_set_child_visible (priv->hscrollbar, priv->hscrollbar_visible); if (priv->hscrollbar_visible) { - if (!gtk_widget_get_visible (priv->hscrollbar)) - gtk_widget_show (priv->hscrollbar); - child_allocation.x = relative_allocation.x; if (priv->real_window_placement == GTK_CORNER_TOP_LEFT || priv->real_window_placement == GTK_CORNER_TOP_RIGHT) @@ -2195,14 +2193,10 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gtk_widget_size_allocate (priv->hscrollbar, &child_allocation); } - else if (gtk_widget_get_visible (priv->hscrollbar)) - gtk_widget_hide (priv->hscrollbar); + gtk_widget_set_child_visible (priv->vscrollbar, priv->vscrollbar_visible); if (priv->vscrollbar_visible) { - if (!gtk_widget_get_visible (priv->vscrollbar)) - gtk_widget_show (priv->vscrollbar); - if ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL && (priv->real_window_placement == GTK_CORNER_TOP_RIGHT || priv->real_window_placement == GTK_CORNER_BOTTOM_RIGHT)) || @@ -2242,8 +2236,6 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gtk_widget_size_allocate (priv->vscrollbar, &child_allocation); } - else if (gtk_widget_get_visible (priv->vscrollbar)) - gtk_widget_hide (priv->vscrollbar); _gtk_scrolled_window_allocate_overshoot_window (scrolled_window); } |