diff options
author | Xavier Claessens <xavier.claessens@collabora.co.uk> | 2013-05-07 21:14:48 +0800 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.co.uk> | 2013-05-07 21:24:04 +0800 |
commit | add79d54e3c0149a2c336077d1e37c60d54c5ace (patch) | |
tree | 5fa06b022d662f9de07549b472a2d4db40d6adac | |
parent | e4dbe9ffb7c239cb2ea304a9a13fcfa6573c63e1 (diff) | |
download | gsoc2013-empathy-add79d54e3c0149a2c336077d1e37c60d54c5ace.tar gsoc2013-empathy-add79d54e3c0149a2c336077d1e37c60d54c5ace.tar.gz gsoc2013-empathy-add79d54e3c0149a2c336077d1e37c60d54c5ace.tar.bz2 gsoc2013-empathy-add79d54e3c0149a2c336077d1e37c60d54c5ace.tar.lz gsoc2013-empathy-add79d54e3c0149a2c336077d1e37c60d54c5ace.tar.xz gsoc2013-empathy-add79d54e3c0149a2c336077d1e37c60d54c5ace.tar.zst gsoc2013-empathy-add79d54e3c0149a2c336077d1e37c60d54c5ace.zip |
Fix crash when displaying google account vcard
-rw-r--r-- | libempathy-gtk/empathy-user-info.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-user-info.c b/libempathy-gtk/empathy-user-info.c index 4c9a2deee..77b0798f2 100644 --- a/libempathy-gtk/empathy-user-info.c +++ b/libempathy-gtk/empathy-user-info.c @@ -192,6 +192,17 @@ fill_contact_info_grid (EmpathyUserInfo *self) { TpContactInfoField *field = l->data; + /* For some reason it can happen that the vCard contains fields the CM + * claims to be not supported. This is a workaround for gabble bug + * https://bugs.freedesktop.org/show_bug.cgi?id=64319. But we shouldn't + * crash on buggy CM anyway. */ + if (get_spec_from_list (specs, field->field_name) == NULL) + { + DEBUG ("Buggy CM: self's vCard contains %s field but it is not in " + "Connection' supported fields", field->field_name); + continue; + } + /* make a copy for the details_to_set list */ field = tp_contact_info_field_copy (field); DEBUG ("Field %s is in our vCard", field->field_name); |