[telepathy-glib/master] Don't assert if get_contact_statuses returns NULL
Will Thompson
will.thompson at collabora.co.uk
Mon May 18 05:51:11 PDT 2009
Fixes fd.o#21792
---
telepathy-glib/presence-mixin.c | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/telepathy-glib/presence-mixin.c b/telepathy-glib/presence-mixin.c
index f95b933..b2b4f9b 100644
--- a/telepathy-glib/presence-mixin.c
+++ b/telepathy-glib/presence-mixin.c
@@ -1396,19 +1396,26 @@ tp_presence_mixin_simple_presence_fill_contact_attributes (GObject *obj,
{
TpPresenceMixinClass *mixin_cls =
TP_PRESENCE_MIXIN_CLASS (G_OBJECT_GET_CLASS (obj));
- struct _i_absolutely_love_g_hash_table_foreach data = {
- mixin_cls->statuses, NULL, attributes_hash };
GHashTable *contact_statuses;
+ GError *error = NULL;
- contact_statuses = mixin_cls->get_contact_statuses (obj, contacts, NULL);
+ contact_statuses = mixin_cls->get_contact_statuses (obj, contacts, &error);
- g_assert (contact_statuses != NULL);
+ if (contact_statuses == NULL)
+ {
+ DEBUG ("get_contact_statuses failed: %s", error->message);
+ g_error_free (error);
+ }
+ else
+ {
+ struct _i_absolutely_love_g_hash_table_foreach data = {
+ mixin_cls->statuses, contact_statuses, attributes_hash };
- data.contact_statuses = contact_statuses;
- g_hash_table_foreach (contact_statuses,
- simple_presence_fill_contact_attributes_foreach, &data);
+ g_hash_table_foreach (contact_statuses,
+ simple_presence_fill_contact_attributes_foreach, &data);
- g_hash_table_destroy (contact_statuses);
+ g_hash_table_destroy (contact_statuses);
+ }
}
/**
--
1.5.6.5
More information about the telepathy-commits
mailing list