aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-tp-chat.c
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2010-02-25 20:30:56 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-02-26 02:08:48 +0800
commit9010489b970c479609c095ec6b15b1e893e8b548 (patch)
tree0dbedcea1c7b725b065d41016697a327cf9aa282 /libempathy/empathy-tp-chat.c
parent53271ff381e1908a6d99a188d6030e4f859e182d (diff)
downloadgsoc2013-empathy-9010489b970c479609c095ec6b15b1e893e8b548.tar
gsoc2013-empathy-9010489b970c479609c095ec6b15b1e893e8b548.tar.gz
gsoc2013-empathy-9010489b970c479609c095ec6b15b1e893e8b548.tar.bz2
gsoc2013-empathy-9010489b970c479609c095ec6b15b1e893e8b548.tar.lz
gsoc2013-empathy-9010489b970c479609c095ec6b15b1e893e8b548.tar.xz
gsoc2013-empathy-9010489b970c479609c095ec6b15b1e893e8b548.tar.zst
gsoc2013-empathy-9010489b970c479609c095ec6b15b1e893e8b548.zip
Don't try to close channels thrice.
Fixes: #611071
Diffstat (limited to 'libempathy/empathy-tp-chat.c')
-rw-r--r--libempathy/empathy-tp-chat.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index a7f23b2f5..cba102add 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -1828,13 +1828,17 @@ empathy_tp_chat_leave (EmpathyTpChat *self)
GArray *array;
if (!tp_proxy_has_interface_by_id (priv->channel,
- TP_IFACE_QUARK_CHANNEL_INTERFACE_GROUP))
+ TP_IFACE_QUARK_CHANNEL_INTERFACE_GROUP)) {
empathy_tp_chat_close (self);
+ return;
+ }
self_handle = tp_channel_group_get_self_handle (priv->channel);
- if (self_handle == 0)
+ if (self_handle == 0) {
/* we are not member of the channel */
empathy_tp_chat_close (self);
+ return;
+ }
array = g_array_sized_new (FALSE, FALSE, sizeof (TpHandle), 1);
g_array_insert_val (array, 0, self_handle);