diff options
author | Will Thompson <will.thompson@collabora.co.uk> | 2011-09-06 22:52:34 +0800 |
---|---|---|
committer | Will Thompson <will.thompson@collabora.co.uk> | 2011-09-06 22:59:04 +0800 |
commit | 0f2e15e0a3e294e47eec19659c0a02582e2198fb (patch) | |
tree | 814ea3837b865906f27bb15f5a54444b5dcd762b | |
parent | b77af8e37dff739e55a69f85f89fc3031620e1e3 (diff) | |
download | gsoc2013-empathy-0f2e15e0a3e294e47eec19659c0a02582e2198fb.tar.gz gsoc2013-empathy-0f2e15e0a3e294e47eec19659c0a02582e2198fb.tar.zst gsoc2013-empathy-0f2e15e0a3e294e47eec19659c0a02582e2198fb.zip |
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 <jonny.lamb@collabora.co.uk>
-rw-r--r-- | libempathy/empathy-tp-chat.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c index 27003561e..9eaff9592 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++) { |