aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/empathy-call-window.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 9b057c0ef..565b9edca 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -2420,12 +2420,17 @@ empathy_call_window_present (EmpathyCallWindow *self,
{
g_return_if_fail (EMPATHY_IS_CALL_HANDLER (handler));
- tp_clear_object (&self->priv->handler);
- self->priv->handler = g_object_ref (handler);
- empathy_call_window_connect_handler (self);
-
empathy_window_present (GTK_WINDOW (self));
- empathy_call_window_restart_call (self);
+
+ if (self->priv->call_state == DISCONNECTED)
+ {
+ /* start a new call if one is not already in progress */
+ tp_clear_object (&self->priv->handler);
+ self->priv->handler = g_object_ref (handler);
+ empathy_call_window_connect_handler (self);
+
+ empathy_call_window_restart_call (self);
+ }
}
static void