diff options
-rw-r--r-- | src/empathy-call-window.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c index 21a2e68a5..99e1cc8ff 100644 --- a/src/empathy-call-window.c +++ b/src/empathy-call-window.c @@ -1331,7 +1331,10 @@ empathy_call_window_dispose (GObject *object) } if (priv->handler != NULL) - g_object_unref (priv->handler); + { + empathy_call_handler_stop_call (priv->handler); + g_object_unref (priv->handler); + } priv->handler = NULL; if (priv->pipeline != NULL) @@ -2667,6 +2670,10 @@ static void empathy_call_window_hangup_cb (gpointer object, EmpathyCallWindow *window) { + EmpathyCallWindowPriv *priv = GET_PRIV (window); + + empathy_call_handler_stop_call (priv->handler); + if (empathy_call_window_disconnected (window)) gtk_widget_destroy (GTK_WIDGET (window)); } |