After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 157778 - statusbar resize grip overdrawn when other widgets are packed in the statusbar
statusbar resize grip overdrawn when other widgets are packed in the statusbar
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
2.5.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks: 137845
 
 
Reported: 2004-11-09 20:13 UTC by Christian Persch
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
testcase.c (2.17 KB, text/plain)
2004-11-09 20:14 UTC, Christian Persch
Details

Description Christian Persch 2004-11-09 20:13:34 UTC
This bug is in continuation of bug 73359 (which was mainly about the label in
the statusbar, so I'm opening this bug instead of reopening the old one).

The statusbar still has problems with drawing the resize grip, when other
widgets (like a GtkProgressbar) are packed (pack_end) in the statusbar. I'm
attaching a testcase.

The problem is this: when adding both progressbar and a resize grip, the
progressbar draws over the resize grip; and the label is positioned wrongly,
which you can see by toggling the resize grip on/off in the testcase: the extra
space makes the statusbar's _label_ shorter instead of shifting the extra packed
widget to the left.
Comment 1 Christian Persch 2004-11-09 20:14:05 UTC
Created attachment 33598 [details]
testcase.c
Comment 2 Matthias Clasen 2004-11-09 20:22:19 UTC
Hmm, this will be hard to fix perfectly. Currently, I'm manually reallocating
the label to be shorter in gtk_statusbar_size_allocate().
To fix the "pack_end progressbar" case, we would need to allocate the hbox
smaller, or add some invisible placeholder of the right size. But if we do that,
the regular "just a label" case is broken, since in that case, we want the 
frame to extend all the way across the statusbar, just the label should get
a smaller allocation.
Comment 3 Matthias Clasen 2004-11-10 16:33:38 UTC
2004-11-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only
	shorten the label if it actually overlaps the resize grip.
	(gtk_statusbar_size_allocate): Handle extra children
	by leaving room for the resize grip.  (#157778, Christian Persch)