From: Will Thompson Date: Tue, 6 Sep 2011 14:52:34 +0000 (+0100) Subject: TpChat: don't crash with broken TpProperties implementations X-Git-Url: https://git.0d.be/?p=empathy.git;a=commitdiff_plain;h=0f2e15e0a3e294e47eec19659c0a02582e2198fb TpChat: don't crash with broken TpProperties implementations I forgot to take the Telepathy.Properties interface out of Gabble when I removed Telepathy.Properties support from it. So Empathy called ListProperties() on it anyway: fine, you might think, except the callback set priv->had_properties_list to TRUE even if the method returned an error. empathy_tp_chat_set_property() and empathy_tp_chat_get_property() assume that if priv->had_properties_list is TRUE, priv->properties is not NULL. While I hope that we can delete this code entirely pretty soon, getting this crash fix in seems like a good idea. Reviewed-by: Jonny Lamb --- diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c index 27003561..9eaff959 100644 --- a/libempathy/empathy-tp-chat.c +++ b/libempathy/empathy-tp-chat.c @@ -686,13 +686,13 @@ tp_chat_list_properties_cb (TpProxy *proxy, GArray *ids; guint i; - self->priv->had_properties_list = TRUE; - if (error) { DEBUG ("Error listing properties: %s", error->message); return; } + self->priv->had_properties_list = TRUE; + ids = g_array_sized_new (FALSE, FALSE, sizeof (guint), properties->len); self->priv->properties = g_ptr_array_sized_new (properties->len); for (i = 0; i < properties->len; i++) {