[telepathy-glib/master] fd.o #17751: document that TpBaseConnection's self_handle member remains valid longer

Simon McVittie simon.mcvittie at collabora.co.uk
Tue Aug 18 10:23:26 PDT 2009


---
 NEWS                             |   10 ++++++++++
 telepathy-glib/base-connection.c |    6 ++++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 96baaf2..fad25b0 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,16 @@ telepathy-glib 0.7.35 (UNRELEASED)
 
 The "dance to the sound of sirens" release.
 
+API changes:
+
+* fd.o #17751: TpBaseConnection no longer guarantees that the self-handle is
+  set to 0 when the state changes to DISCONNECTED; instead, the self-handle
+  remains valid until the connection is disposed, so that connection managers
+  can use it during teardown. (cassidy)
+  - This change will cause assertion failures on disconnection in
+    telepathy-sofiasip older than 0.5.17, and in telepathy-gabble older than
+    0.7.9.
+
 Enhancements:
 
 * Add tp_dbus_daemon_list_names() and tp_dbus_daemon_list_activatable_names(),
diff --git a/telepathy-glib/base-connection.c b/telepathy-glib/base-connection.c
index 6b10879..32e5a68 100644
--- a/telepathy-glib/base-connection.c
+++ b/telepathy-glib/base-connection.c
@@ -2574,14 +2574,16 @@ tp_base_connection_disconnect_with_dbus_error (TpBaseConnection *self,
  * <listitem>Update the @status member of #TpBaseConnection</listitem>
  * <listitem>If the new state is DISCONNECTED, call the close_all_channels
  * callback on all channel factories</listitem>
- * <listitem>If the new state is DISCONNECTED, unref the @self_handle, if
- * any, and set it to 0</listitem>
  * <listitem>Emit the D-Bus StatusChanged signal</listitem>
  * <listitem>Call the subclass' status change callback</listitem>
  * <listitem>Call the channel factories' status change callbacks</listitem>
  * <listitem>If the new state is DISCONNECTED, call the subclass'
  * @shut_down callback</listitem>
  * </itemizedlist>
+ *
+ * Changed in 0.7.35: the @self_handle member of #TpBaseConnection was
+ * previously set to 0 at this stage. It now remains non-zero until the object
+ * is disposed.
  */
 void
 tp_base_connection_change_status (TpBaseConnection *self,
-- 
1.5.6.5




More information about the telepathy-commits mailing list