Bug 24114 - [0.13] deprecate tp_get_bus()
Summary: [0.13] deprecate tp_get_bus()
Alias: None
Product: Telepathy
Classification: Unclassified
Component: tp-glib (show other bugs)
Version: git master
Hardware: Other All
: medium normal
Assignee: Simon McVittie
QA Contact: Telepathy bugs list
URL: http://git.collabora.co.uk/?p=user/sm...
Keywords: patch
Depends on: 24116 24209 27375 27741 30304 30305 31662 31663 31664 31665 31666 31720
Blocks: 18832
  Show dependency treegraph
Reported: 2009-09-23 06:45 UTC by Simon McVittie
Modified: 2010-12-01 07:25 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


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.