Bug 24114

Summary: [0.13] deprecate tp_get_bus()
Product: Telepathy Reporter: Simon McVittie <smcv>
Component: tp-glibAssignee: Simon McVittie <smcv>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium Keywords: patch
Version: git master   
Hardware: Other   
OS: All   
URL: http://git.collabora.co.uk/?p=user/smcv/telepathy-glib-smcv.git;a=shortlog;h=refs/heads/redeprecate
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 24116, 24209, 27375, 27741, 30304, 30305, 31662, 31663, 31664, 31665, 31666, 31720    
Bug Blocks: 18832    

Description Simon McVittie 2009-09-23 06:45:52 UTC
tp_get_bus() calls exit(), which is Badâ„¢. We can't remove it til we break ABI, but we can at least deprecate it.
Comment 1 Simon McVittie 2010-01-21 06:33:35 UTC
I have a rather half-baked branch for this, 'deprecations'.
Comment 2 Simon McVittie 2010-03-31 10:31:40 UTC
Fixed on my trivia branch for 0.11
Comment 3 Simon McVittie 2010-04-01 05:37:04 UTC
Fixed in 0.11.0
Comment 4 Simon McVittie 2010-04-06 03:56:25 UTC
In practice, current connection managers all use tp_get_bus() all over the place (to export their channels), so this needs reverting. A better solution would be to give TpBaseConnectionManager and TpBaseConnection an accessor for the TpDBusDaemon (and DBusGConnection) that they have to have internally already, which borrows the ref (thus doesn't need an unref) and can't fail.

All the various channels have to have a ref to the TpBaseConnection anyway, for handle repositories, so this is no extra burden for CMs. The cost is that CMs using this API would have to depend on telepathy-glib 0.11.
Comment 5 Simon McVittie 2010-09-13 03:10:21 UTC
Deferred to 0.13.
Comment 6 Simon McVittie 2010-12-01 03:42:58 UTC
Let's try this again, now we've fixed the connection managers...
Comment 7 Simon McVittie 2010-12-01 07:25:52 UTC
r+ from Jonny on IRC, fixed in git for 0.13.8.

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.