diff options
author | Matthias Clasen <mclasen@redhat.com> | 2005-05-16 04:54:35 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2005-05-16 04:54:35 +0000 |
commit | 9cde596b733991b1fed5853b41fbdee2b19931f5 (patch) | |
tree | 4419e6c748d4f2c665af185acbe7fb24753e2c46 /gtk/gtkstatusbar.c | |
parent | f1cbeaff1e34179bbcb415e35ada465177bd4ac5 (diff) | |
download | gtk+-9cde596b733991b1fed5853b41fbdee2b19931f5.tar.gz |
Only shrink the label if we need to. (#169390, Felix Riemann)
2005-05-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only shrink
the label if we need to. (#169390, Felix Riemann)
Diffstat (limited to 'gtk/gtkstatusbar.c')
-rw-r--r-- | gtk/gtkstatusbar.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c index 13beb6ef3b..1cac81d9ab 100644 --- a/gtk/gtkstatusbar.c +++ b/gtk/gtkstatusbar.c @@ -850,13 +850,16 @@ gtk_statusbar_size_allocate (GtkWidget *widget, } else { - /* shrink the label to make room for the grip */ - *allocation = statusbar->label->allocation; - allocation->width -= rect.width; - if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) - allocation->x += rect.width; + if (statusbar->label->allocation.width + rect.width > statusbar->frame->allocation.width) + { + /* shrink the label to make room for the grip */ + *allocation = statusbar->label->allocation; + allocation->width -= rect.width; + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) + allocation->x += rect.width; - gtk_widget_size_allocate (statusbar->label, allocation); + gtk_widget_size_allocate (statusbar->label, allocation); + } } } } |