[Bug 25181] New: tp_connection_get_contacts_by_handle always calls GetContactAttributes

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Nov 19 12:40:54 CET 2009


http://bugs.freedesktop.org/show_bug.cgi?id=25181

           Summary: tp_connection_get_contacts_by_handle always calls
                    GetContactAttributes
           Product: Telepathy
           Version: unspecified
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: medium
         Component: tp-glib
        AssignedTo: telepathy-bugs at lists.freedesktop.org
        ReportedBy: guillaume.desmottes at collabora.co.uk


Original Empathy bug report: https://bugzilla.gnome.org/show_bug.cgi?id=602328

To reproduce:
- start a chat with a contact using Empathy and launch dbus-monitor
- start typing in the chat window: GetContactAttributes () is called
- wait a bit that Empathy's typing timer times out: GetContactAttributes () is
called again
- start typing again: GetContactAttributes () is called
- etc.

That's because each time the ChatStateChanged signal is fired, Empathy calls
tp_connection_get_contacts_by_handle() to get the TpContact object associated
with the signal. As Empathy already keep a ref on this TpContact, tp-glib is
supposed to return the existing contact object (which it does, pointers are the
same) but it still makes a call to GetContactAttributes ().
It shouldn't call this function when re-using an existing contact object as
this leads to useless D-Bus round trips.

Note that if you are using a released Empathy version, you'll see 2 calls of
GetContactAttributes(). That's because Empathy was handling the
ChatStateChanged twice. This has been fixed in master and gnome-2.28.


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



More information about the telepathy-bugs mailing list