summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2013-01-07 11:55:28 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2013-01-07 11:55:28 +0000
commit12e8b215512e99b8f11a2800b8f9842c59dd38d6 (patch)
tree3a7a863d79619bc39ff1a50b8c494cb39449bac8
parent308408b98358b701a629b2b7821af81eaecc0239 (diff)
parenta0f0298c9a2c6b69c7a1d6f6098fc20be4b82483 (diff)
downloadtelepathy-glib-12e8b215512e99b8f11a2800b8f9842c59dd38d6.tar.gz
Merge branch 'telepathy-glib-0.18' into telepathy-glib-0.20
Conflicts: NEWS
-rw-r--r--NEWS4
-rw-r--r--telepathy-glib/connection-contact-list.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index e3cb64c5c..3d8fa3254 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,10 @@ telepathy-glib 0.20.2 (UNRELEASED)
Fixes:
+• In TpSimpleClientFactory, don't crash when ensuring a contact for an
+ obsolete connection manager without "immortal handles" fails
+ (Maksim Melnikau)
+
• Add missing (element-type) introspection annotations to
tp_capabilities_get_channel_classes, tp_asv_get_bytes and
tp_client_channel_factory_dup_channel_features (fd.o #58851, Philip Withnall)
diff --git a/telepathy-glib/connection-contact-list.c b/telepathy-glib/connection-contact-list.c
index 4d53dfe7f..f00f2308c 100644
--- a/telepathy-glib/connection-contact-list.c
+++ b/telepathy-glib/connection-contact-list.c
@@ -255,6 +255,12 @@ got_contact_list_attributes_cb (TpConnection *self,
contact = tp_simple_client_factory_ensure_contact (
tp_proxy_get_factory (self), self, handle, id);
+
+ /* ensure_contact() can fail for obsolete CMs that don't have
+ * ImmortalHandles */
+ if (contact == NULL)
+ continue;
+
if (!_tp_contact_set_attributes (contact, value,
features->len, (TpContactFeature *) features->data, &e))
{