aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-call-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/empathy-call-window.c')
-rw-r--r--src/empathy-call-window.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 565c65d00..9b057c0ef 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -3182,10 +3182,12 @@ empathy_call_window_state_changed_cb (EmpathyCallHandler *handler,
TpCallChannel *call;
gboolean can_send_video;
- if (state == TP_CALL_STATE_ENDED &&
- !tp_strdiff (reason, TP_ERROR_STR_INSUFFICIENT_BALANCE))
+ if (state == TP_CALL_STATE_ENDED)
{
- show_balance_error (self);
+ DEBUG ("Call ended: %s", (reason != NULL && reason[0] != '\0') ? reason : "unspecified reason");
+ empathy_call_window_disconnected (self, TRUE);
+ if (!tp_strdiff (reason, TP_ERROR_STR_INSUFFICIENT_BALANCE))
+ show_balance_error (self);
return;
}
@@ -3982,9 +3984,10 @@ static void
empathy_call_window_hangup_cb (gpointer object,
EmpathyCallWindow *self)
{
+ /* stopping the call will put it the ENDED state and
+ * from state_changed_cb we'll reconfigure the window
+ */
empathy_call_handler_stop_call (self->priv->handler);
-
- empathy_call_window_disconnected (self, TRUE);
}
static void