aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-tp-call.c
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@src.gnome.org>2008-02-26 21:31:26 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2008-02-26 21:31:26 +0800
commita0ee1678efd3c01d3856c324b8e29fd591d75dd4 (patch)
treebf5f63751aab9d4164eda574a0b60828bec75d21 /libempathy/empathy-tp-call.c
parent1b71ddfae146e1f8d856223239eedd4ea0cefacb (diff)
downloadgsoc2013-empathy-a0ee1678efd3c01d3856c324b8e29fd591d75dd4.tar
gsoc2013-empathy-a0ee1678efd3c01d3856c324b8e29fd591d75dd4.tar.gz
gsoc2013-empathy-a0ee1678efd3c01d3856c324b8e29fd591d75dd4.tar.bz2
gsoc2013-empathy-a0ee1678efd3c01d3856c324b8e29fd591d75dd4.tar.lz
gsoc2013-empathy-a0ee1678efd3c01d3856c324b8e29fd591d75dd4.tar.xz
gsoc2013-empathy-a0ee1678efd3c01d3856c324b8e29fd591d75dd4.tar.zst
gsoc2013-empathy-a0ee1678efd3c01d3856c324b8e29fd591d75dd4.zip
Avoid calling Close() on the media channel if it's already closed.
svn path=/trunk/; revision=670
Diffstat (limited to 'libempathy/empathy-tp-call.c')
-rw-r--r--libempathy/empathy-tp-call.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libempathy/empathy-tp-call.c b/libempathy/empathy-tp-call.c
index 0e4823e69..25c47cd2c 100644
--- a/libempathy/empathy-tp-call.c
+++ b/libempathy/empathy-tp-call.c
@@ -833,6 +833,9 @@ empathy_tp_call_close_channel (EmpathyTpCall *call)
EmpathyTpCallPriv *priv = GET_PRIV (call);
GError *error = NULL;
+ if (priv->status == EMPATHY_TP_CALL_STATUS_CLOSED)
+ return;
+
empathy_debug (DEBUG_DOMAIN, "Closing channel");
if (!tp_chan_close (DBUS_G_PROXY (priv->channel), &error))
@@ -841,6 +844,8 @@ empathy_tp_call_close_channel (EmpathyTpCall *call)
error ? error->message : "No error given");
g_clear_error (&error);
}
+ else
+ priv->status = EMPATHY_TP_CALL_STATUS_CLOSED;
}
void