GNOME Bugzilla – Bug 568742
gtk+ trunk breaks epiphany
Last modified: 2009-02-06 15:50:35 UTC
With latest gtk+ svn trunk, epiphany's bookmarks menu shows up blank, spewing loads of Gtk-CRITICAL **: gtk_label_set_label: assertion `str != NULL' failed warnings: (gdb) where
+ Trace 211774
I strongly suspect the patch from bug 568334.
Created attachment 127026 [details] [review] Proposed patch Every other call to gtk_label_set_label_internal() does this...
Patch looks fine
Patch fixes the runtime warnings but I still see the blank Epiphany bookmarks. Digging deeper...
Setting G_PARAM_CONSTRUCT on the GtkAction:label property alone is enough to trigger the bug, but only seems to be a problem with EphyBookmarkAction. All other apps I've looked at seem fine.
Okay, think I see what's happening. - EphyBookmarkAction:bookmark is a CONSTRUCT_ONLY. It gets set first. - That triggers ephy_bookmark_action_updated(), which sets GtkAction:label. - Initialization continues. GtkAction:label gets reset to NULL since it's now a CONSTRUCT property and a value wasn't supplied to g_object_new(). So ephy_bookmark_action_updated() is called too early during initialization. I think moving the call to a constructed() method would fix the issue. I'm not sure whether to fix Ephiphany or revert the GTK+ patch. I guess it introduced an API break after all.
Created attachment 127041 [details] [review] Patch for EphyBookmarkAction
I think this is probably not API compatible enough. Epiphany can't be the only app out there that's setting those properties at this time in its derived action classes...
Yeah, unfortunately that probably means that evo has the short end of the stick here.
Reverted
Had a need for the GtkLabel patch again (comment #1), so committed it with Matthias' permission.