[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