From 0f47819a414ea821e6eccafb678c399a39a901ec Mon Sep 17 00:00:00 2001 From: Sjoerd Simons Date: Thu, 17 Mar 2011 11:41:25 +0000 Subject: When the remote side hangs up, clean up the call channel --- src/empathy-call-handler.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/empathy-call-handler.c b/src/empathy-call-handler.c index a7aafad64..aff96bd6e 100644 --- a/src/empathy-call-handler.c +++ b/src/empathy-call-handler.c @@ -193,10 +193,17 @@ on_call_state_changed_cb (TpyCallChannel *call, GHashTable *call_state_details, EmpathyCallHandler *handler) { - if (state == TPY_CALL_STATE_ENDED) - tp_channel_close_async (TP_CHANNEL (call), NULL, NULL); + EmpathyCallHandlerPriv *priv = handler->priv; g_signal_emit (handler, signals[STATE_CHANGED], 0, state); + + if (state == TPY_CALL_STATE_ENDED) + { + tp_channel_close_async (TP_CHANNEL (call), NULL, NULL); + + tp_clear_object (&priv->call); + tp_clear_object (&priv->tfchannel); + } } static void -- cgit v1.2.3