Closed
Bug 414534
Opened 17 years ago
Closed 14 years ago
gtk_paint_arrow: assertion `style->depth == gdk_drawable_get_depth (window)' failed
Categories
(Core Graveyard :: GFX: Gtk, defect)
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: sikon, Unassigned)
Details
(Keywords: regression)
Build: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b3pre) Gecko/2008012913 Firefox/3.0b3pre
When I launch Firefox 3.0b3pre with the QtCurve GTK theme, I get a bunch of errors:
(gecko:15737): Gdk-CRITICAL **: gdk_gc_set_ts_origin: assertion `GDK_IS_GC (gc)' failed
(gecko:15737): Gdk-CRITICAL **: gdk_gc_set_ts_origin: assertion `GDK_IS_GC (gc)' failed
(gecko:15737): Gdk-CRITICAL **: gdk_gc_set_ts_origin: assertion `GDK_IS_GC (gc)' failed
(gecko:15737): Gdk-CRITICAL **: gdk_gc_set_ts_origin: assertion `GDK_IS_GC (gc)' failed
(gecko:15737): Gdk-CRITICAL **: gdk_gc_set_ts_origin: assertion `GDK_IS_GC (gc)' failed
(gecko:15737): Gdk-CRITICAL **: gdk_gc_set_ts_origin: assertion `GDK_IS_GC (gc)' failed
(gecko:15737): Gdk-CRITICAL **: gdk_gc_set_ts_origin: assertion `GDK_IS_GC (gc)' failed
(gecko:15737): Gtk-CRITICAL **: gtk_paint_arrow: assertion `style->depth == gdk_drawable_get_depth (window)' failed
Toolbar arrows are not drawn, and Firefox periodically freezes after outputting these messages.
This issue does not occur with the Clearlooks theme.
Comment 1•17 years ago
|
||
What version of GTK+ do you have?
Right now I've fallen back to an older build, where this bug does not occur and arrows are drawn normally.
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b3pre) Gecko/2008011714 Firefox/3.0b3pre
Comment 4•17 years ago
|
||
Any idea when it regressed (what day)?
No idea what could cause the regression. Sadly, I don't update regularly.
gtk_paint_arrow is only used in widget/src/gtk2/gtk2drawing.c, so you could probably check the revision history for that file.
I also checked other themes from the default Ubuntu install. I reproduced this regression with the Redmond theme, but not with any others.
Comment 6•17 years ago
|
||
I also encountered this problem. It happened sometime between 2008/01/11 and 2008/01/24 (I was out of the country during that time and not updating the source every day.) The problem appears to be the function ensure_arrow_widget() in gtk2drawing.c in widget/src/gtk2. I pulled out the old source from the beta2 tarball and compared it with the current gtk2drawing.c. The old code (which still appears to work properly if you put it back into gtk2drawing.c):
ensure_arrow_widget()
{
if (!gArrowWidget) {
gDropdownButtonWidget = gtk_button_new();
setup_widget_prototype(gDropdownButtonWidget);
gArrowWidget = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_OUT);
gtk_container_add(GTK_CONTAINER(gDropdownButtonWidget), gArrowWidget);
gtk_widget_realize(gArrowWidget);
}
return MOZ_GTK_SUCCESS;
}
The code which is broken:
ensure_arrow_widget()
{
if (!gArrowWidget) {
ensure_combo_box_entry_widget();
gtk_container_forall(GTK_CONTAINER(gComboBoxEntryWidget),
moz_gtk_get_dropdown_button,
NULL);
gArrowWidget = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_OUT);
gtk_container_add(GTK_CONTAINER(GTK_BIN(gDropdownButtonWidget)->child),
gArrowWidget);
gtk_widget_realize(gArrowWidget);
}
return MOZ_GTK_SUCCESS;
}
Sorry for the horrible looking cut-n-paste job. Is there a better / proper way to make such notations in these forums (I'm a first-time poster, as if you couldn't tell.)
mxr.mozilla.org is useful for performing that sort of archaeology.
Why can't this change simply be reverted? What was it meant to accomplish?
Keywords: regression
Comment 9•17 years ago
|
||
(In reply to comment #8)
> What was it meant to accomplish?
If you search for "ensure_arrow_widget" on lxr.mozilla.org, you'll find:
http://lxr.mozilla.org/seamonkey/source/widget/src/gtk2/gtk2drawing.c#284 . Then click the "CVS Blame" link at the top of the page, and find the same line. You'll see line annotations that point to revision 1.66 and 1.70 of gtk2drawing.c. If you hover over the annotations you'll see that they have commit messages pointing to bug 405210 and bug 413084, respectively.
| Assignee | ||
Updated•16 years ago
|
Product: Core → Core Graveyard
Comment 10•15 years ago
|
||
$ thunderbird
progname=thunderbird-bin; RGBA=on
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_flat_box: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_shadow: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_flat_box: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_shadow: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_box: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_arrow: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_box: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_extension: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_box_gap: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_extension: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_box_gap: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_flat_box: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_shadow: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_flat_box: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_shadow: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(thunderbird-bin:5110): Gtk-CRITICAL **: gtk_paint_arrow: assertion `style->depth == gdk_drawable_get_depth (window)' failed
The program 'thunderbird-bin' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
(Details: serial 1394 error_code 8 request_code 70 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Comment 11•14 years ago
|
||
I do not see these error messages with a trunk build and qtcurve.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•