[next] telepathy-glib: _tp_channel_got_properties: if we were invalidated, don't continue

Simon McVittie smcv at kemper.freedesktop.org
Tue Mar 18 05:45:05 PDT 2014


Module: telepathy-glib
Branch: next
Commit: 256dd21d63924a1e4d2e23f20a29313210727a59
URL:    http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=256dd21d63924a1e4d2e23f20a29313210727a59

Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Thu Mar 13 15:22:11 2014 +0000

_tp_channel_got_properties: if we were invalidated, don't continue

_tp_channel_maybe_set_channel_type() is invalid to call after the
proxy has been invalidated. We previously dodged this bullet for
some reason, but with GDBus, tests sometimes fail here.

---

 telepathy-glib/channel.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/telepathy-glib/channel.c b/telepathy-glib/channel.c
index f0500bc..15e5f6b 100644
--- a/telepathy-glib/channel.c
+++ b/telepathy-glib/channel.c
@@ -658,13 +658,19 @@ _tp_channel_got_properties (TpProxy *proxy,
   const gchar *s;
   gboolean b;
 
-
   if (error != NULL)
     {
       _tp_channel_abort_introspection (self, "GetAll failed", error);
       return;
     }
 
+  if (tp_proxy_get_invalidated (self))
+    {
+      /* this will do the necessary cleanup */
+      _tp_channel_continue_introspection (self);
+      return;
+    }
+
   DEBUG ("Received %u channel properties", g_hash_table_size (asv));
 
   self->priv->exists = TRUE;



More information about the telepathy-commits mailing list