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 568742 - gtk+ trunk breaks epiphany
gtk+ trunk breaks epiphany
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Class: UIManager / Actions
unspecified
Other Linux
: Normal critical
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks: 568334
 
 
Reported: 2009-01-22 18:55 UTC by Christian Persch
Modified: 2009-02-06 15:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed patch (588 bytes, patch)
2009-01-22 19:17 UTC, Matthew Barnes
committed Details | Review
Patch for EphyBookmarkAction (1.17 KB, patch)
2009-01-22 21:36 UTC, Matthew Barnes
rejected Details | Review

Description Christian Persch 2009-01-22 18:55:45 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
  • #3 g_return_if_fail_warning
    at gmessages.c line 532
  • #4 gtk_label_set_label
    at gtklabel.c line 1763
  • #5 connect_proxy
    at gtkaction.c line 779
  • #6 ephy_link_action_connect_proxy
    at /build/buildd/epiphany-browser-2.24.1/src/ephy-link-action.c line 128
  • #7 connect_proxy
    at /build/buildd/epiphany-browser-2.24.1/src/bookmarks/ephy-bookmark-action.c line 551
  • #8 gtk_action_create_menu_item
    at gtkaction.c line 1039
  • #9 update_node
    at gtkuimanager.c line 2576
  • #10 update_node
    at gtkuimanager.c line 2736
  • #11 update_node
    at gtkuimanager.c line 2736
  • #12 update_node
    at gtkuimanager.c line 2736
  • #13 do_updates
    at gtkuimanager.c line 2778
  • #14 gtk_ui_manager_ensure_update
    at gtkuimanager.c line 2833

I strongly suspect the patch from bug 568334.
Comment 1 Matthew Barnes 2009-01-22 19:17:10 UTC
Created attachment 127026 [details] [review]
Proposed patch

Every other call to gtk_label_set_label_internal() does this...
Comment 2 Matthias Clasen 2009-01-22 19:47:26 UTC
Patch looks fine
Comment 3 Matthew Barnes 2009-01-22 20:06:13 UTC
Patch fixes the runtime warnings but I still see the blank Epiphany bookmarks.  Digging deeper...
Comment 4 Matthew Barnes 2009-01-22 20:51:24 UTC
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.
Comment 5 Matthew Barnes 2009-01-22 21:21:36 UTC
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.
Comment 6 Matthew Barnes 2009-01-22 21:36:02 UTC
Created attachment 127041 [details] [review]
Patch for EphyBookmarkAction
Comment 7 Christian Persch 2009-01-22 21:54:43 UTC
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...
Comment 8 Matthias Clasen 2009-01-23 01:17:02 UTC
Yeah, unfortunately that probably means that evo has the short end of the stick here.
Comment 9 Matthias Clasen 2009-01-23 01:45:54 UTC
Reverted
Comment 10 Matthew Barnes 2009-02-06 15:50:35 UTC
Had a need for the GtkLabel patch again (comment #1), so committed it with Matthias' permission.