aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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