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 388090 - Disconnect signals properly when freeing GossipPrivateChat
Disconnect signals properly when freeing GossipPrivateChat
Status: RESOLVED FIXED
Product: gossip
Classification: Deprecated
Component: General
unspecified
Other Linux
: Normal blocker
: ---
Assigned To: Gossip Maintainers
Gossip Maintainers
: 388052 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-12-20 22:53 UTC by Mikael Hallendal
Modified: 2006-12-28 18:45 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Mikael Hallendal 2006-12-20 22:53:45 UTC
When the private chats were changed to be freed when closed it seems a bug was introduced that it now gets a callback after the GossipPrivateChat was finalized.

The Changelog entry for the commit:

2006-12-04  Martyn Russell  <martyn@imendio.com>

        * libgossip/gossip-chatroom-manager.c:
        * src/gossip-app.c: 
        * src/gossip-chat-manager.c:
        * src/gossip-chat-view.c: 
        * src/gossip-chat-window.c:
        * src/gossip-group-chat.c:
        * src/gossip-new-chatroom-dialog.c:
        * src/gossip-private-chat.c: Sort out the reference counting
        nightmare with private/group chats and the chat window. Now we
        don't keep the private chats around for the duration of the time
        you use Gossip, instead remove them when the tab closes. This
        means we now free GossipPrivateChat objects when they are closed
        and this should also mean Peekaboo updates better with current
        chats. The commit also fixes some issues with reopening
        GossipGroupChat objects because of internal hash table issues.
Comment 1 Mikael Hallendal 2006-12-20 22:54:15 UTC
And a stack trace:

private_chat_own_avatar_notify_cb (contact=0x811a460, pspec=0x80de078, 
    chat=0x8309498) at gossip-private-chat.c:767
767             if (priv->own_avatar) {
(gdb) where
  • #0 private_chat_own_avatar_notify_cb
    at gossip-private-chat.c line 767
  • #1 g_cclosure_marshal_VOID__PARAM
    from /usr/lib/libgobject-2.0.so.0
  • #2 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #3 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #4 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #5 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #6 g_object_class_override_property
    from /usr/lib/libgobject-2.0.so.0
  • #7 g_enum_register_static
    from /usr/lib/libgobject-2.0.so.0
  • #8 g_object_notify
    from /usr/lib/libgobject-2.0.so.0
  • #9 gossip_contact_set_avatar
    at gossip-contact.c line 618
  • #10 vcard_dialog_response_cb
    at gossip-vcard-dialog.c line 529

Comment 2 Mikael Hallendal 2006-12-20 22:57:52 UTC
*** Bug 388052 has been marked as a duplicate of this bug. ***
Comment 3 Wouter Bolsterlee (uws) 2006-12-20 23:02:56 UTC
It should be noted that bug #388052 has a huge stacktrace with more debugging symbols than in the short trace above.
Comment 4 Mikael Hallendal 2006-12-20 23:20:41 UTC
Yes, however, the stack trace is a bit obsolete now as I already tracked down the cause for the problem and the trace shows the result rather than the reason for the bug.
Comment 5 Mikael Hallendal 2006-12-21 15:11:32 UTC
Fixed in CVS.
Comment 6 Martyn Russell 2006-12-28 18:45:00 UTC
Just updated title to make more sense.