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 <jonny.lamb@collabora.co.uk>
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++) {