diff options
-rw-r--r-- | libempathy/empathy-tp-call.c | 5 |
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 |