[Bug 39172] New: TpTextChannel never finishes preparing if there are pending messages with no message-sender-id

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jul 12 16:26:05 CEST 2011


https://bugs.freedesktop.org/show_bug.cgi?id=39172

           Summary: TpTextChannel never finishes preparing if there are
                    pending messages with no message-sender-id
           Product: Telepathy
           Version: git master
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: tp-glib
        AssignedTo: telepathy-bugs at lists.freedesktop.org
        ReportedBy: will.thompson at collabora.co.uk
         QAContact: telepathy-bugs at lists.freedesktop.org


Since telepathy-glib 0.15.0, if a CM does not include message-sender-id in
received messages, preparing a TpTextChannel for a proxy which has pending
messages will never complete.

This is due to
http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=6fe8293 (which
I advocated). The only reference to 'result' is owned by the call to Get(...,
'PendingMessages'), which is released once get_pending_messages_cb() returns.
So the callback for tp_connection_get_contacts_by_handle /
tp_connection_get_contacts_by_id never fires, because 'result' is specified as
the weak object for the call.

A possible fix is to take a reference on 'result' so that it does not die. This
would be equivalent to how this code worked before.

There's a second bug in that commit: g_async_result_get_source_object() returns
a new ref, not a borrowed ref, and the refs are never released.

This was originally reported against Empathy:
<https://bugzilla.gnome.org/show_bug.cgi?id=654447>

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list