[Bug 29609] New: Client D-Bus method implementations should stop always creating new Account and Connection objects

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Aug 17 12:50:40 CEST 2010


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

           Summary: Client D-Bus method implementations should stop always
                    creating new Account and Connection objects
           Product: Telepathy
           Version: git master
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: high
         Component: tp-qt4
        AssignedTo: telepathy-bugs at lists.freedesktop.org
        ReportedBy: ollisal at gmail.com
         QAContact: telepathy-bugs at lists.freedesktop.org
            Blocks: 29451


Current Tp-Qt4 Client channel handling is done via the
Client{Observer,Handler,Approver}Adaptor classes in ClientRegistrar internals,
calling to the application AbstractClient* subclass virtual handling method
implementation. Before calling that, though, the Adaptor D-Bus method
implementations create Account, Connection and Channel objects corresponding to
the object paths indicated by the method parameters. The objects are always
created anew, even if there is an existing Account / Connection proxy for the
same D-Bus object.

In addition to causing needless re-introspection, this leads to the Contact
objects and handles from the Connection supplied to the application handler
method implementation not working with the application's existing Connection
(which is probably where the application has retrieved any current contact list
contacts, etc.).

Tp-Glib always does ensure_account on a bus-connection-wide pseudo-singleton to
get existing Account objects, if available. The meta bug #29451 contains
relevant discussion on semantics, including whether we should do the same in
tp-qt4.

-- 
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