Bug 42063

Summary: circular introspection dependency between connection and contacts
Product: Telepathy Reporter: Sjoerd Simons <sjoerd>
Component: tp-glibAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium    
Version: git master   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Sjoerd Simons 2011-10-20 07:51:24 UTC
If the factory is requested to prepare the _CAPABILITIES feature for contacts and there is a CM that doesn't implement ContactCapabilities then to retrieve the self handle on the connection the _CAPABILITIES feature on a connection needs to be prepared.

which is fine, except when it's not. iotw, when the requested contact is the self hndle which happens during the initial introspection for connections..

fixed in: http://cgit.collabora.com/git/user/sjoerd/telepathy-glib.git/log/?h=introspection-stall
Comment 1 Guillaume Desmottes 2011-10-24 03:31:57 UTC
+    GQueue capabilities_queue;
I'd add a comment explaining what's stored in the queue and it's semantic.


+  if (rcc == NULL || rcc->len == 0)
+    return;

That means that if we have a contact not supporting anything we'll pretend that it doesn't have CONTACT_FEATURE_FLAG_CAPABILITIES prepared while it has.
Comment 2 Guillaume Desmottes 2011-10-24 07:44:09 UTC
I merged a rebased version of your branch (yours was based on master and we base fix on stable) + one patch adding a comment. I also merged 0.16 into master.

Will be in 0.16.1.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.