[next] telepathy-glib: TpConnection: don' t block introspection if the self-contact changes
Simon McVittie
smcv at kemper.freedesktop.org
Mon Oct 8 08:23:45 PDT 2012
Module: telepathy-glib
Branch: next
Commit: b14caa3f7f5cd789d3cb02fc2dc9ec47c28154c1
URL: http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=b14caa3f7f5cd789d3cb02fc2dc9ec47c28154c1
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Oct 8 14:30:41 2012 +0100
TpConnection: don't block introspection if the self-contact changes
If the self-contact changes while we're introspecting it,
the upgrade callback for the old self-contact does nothing, and we'll
wait forever - unless we introspect the *new* self-contact, to get
back on track.
Unfortunately, we deleted the test-case for this on the 1.0 branch.
It's a little harder to test, because introspecting the self-contact
is usually instantaneous (the exception being if we force a round-trip
while adding features).
---
telepathy-glib/connection.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/telepathy-glib/connection.c b/telepathy-glib/connection.c
index 79c1503..83f04ff 100644
--- a/telepathy-glib/connection.c
+++ b/telepathy-glib/connection.c
@@ -795,7 +795,8 @@ on_self_contact_changed (TpConnection *self,
g_free (self->priv->last_known_self_id);
self->priv->last_known_self_id = g_strdup (self_id);
- if (tp_connection_get_status (self, NULL) == TP_CONNECTION_STATUS_CONNECTED)
+ if (self->priv->introspecting_after_connected ||
+ tp_connection_get_status (self, NULL) == TP_CONNECTION_STATUS_CONNECTED)
get_self_contact (self);
}
More information about the telepathy-commits
mailing list