summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2013-09-26 16:32:32 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2013-09-26 16:32:32 +0100
commit05c0077c29a05d375ef543bc329ced29cb0259f2 (patch)
tree6085f28e68ff9c624d576d912ec24a89aa4e7035
parentb5c43a86d5d4301a8876db293472b6217ef9a016 (diff)
parenta211090400176d2d433f69a2e38f9c1356a3abda (diff)
downloadtelepathy-glib-05c0077c29a05d375ef543bc329ced29cb0259f2.tar.gz
Merge branch 'telepathy-glib-0.20' into telepathy-glib-0.22
Conflicts: NEWS
-rw-r--r--NEWS5
-rw-r--r--telepathy-glib/account.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 0de15a487..803d2a354 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,10 @@
telepathy-glib 0.21.3 (UNRELEASED)
==================================
-...
+Fixes:
+
+• Don't crash if the AccountManager returns an incorrect type for the
+ Avatar (fd.o #69849, Simon)
telepathy-glib 0.21.2 (2013-09-24)
==================================
diff --git a/telepathy-glib/account.c b/telepathy-glib/account.c
index a342fd41d..24dbd001a 100644
--- a/telepathy-glib/account.c
+++ b/telepathy-glib/account.c
@@ -3559,6 +3559,12 @@ _tp_account_got_avatar_cb (TpProxy *proxy,
DEBUG ("Failed to get avatar: %s", error->message);
g_simple_async_result_set_from_error (result, error);
}
+ else if (!G_VALUE_HOLDS (out_Value, TP_STRUCT_TYPE_AVATAR))
+ {
+ DEBUG ("Avatar had wrong type: %s", G_VALUE_TYPE_NAME (out_Value));
+ g_simple_async_result_set_error (result, TP_ERROR, TP_ERROR_CONFUSED,
+ "Incorrect type for Avatar property");
+ }
else
{
avatar = g_value_get_boxed (out_Value);