summaryrefslogtreecommitdiff
path: root/src/muc-channel.c
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2012-01-30 16:05:34 +0000
committerOlivier CrĂȘte <olivier.crete@collabora.com>2012-01-30 16:05:34 +0000
commit4fe564149c374a2b30a4bfb8467b5d41f1fd4816 (patch)
tree369d3e49ce1b6572f95511b7036c962c2c16e356 /src/muc-channel.c
parentaf1a389766cad96903932f9231219ca5e80d5f98 (diff)
downloadtelepathy-gabble-4fe564149c374a2b30a4bfb8467b5d41f1fd4816.tar.gz
Make call-muc-re-re-request.py test pass
Diffstat (limited to 'src/muc-channel.c')
-rw-r--r--src/muc-channel.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/muc-channel.c b/src/muc-channel.c
index 354dbde7d..b7425c7d2 100644
--- a/src/muc-channel.c
+++ b/src/muc-channel.c
@@ -3511,12 +3511,16 @@ gabble_muc_channel_get_call_channels (GabbleMucChannel *self)
}
static void
-muc_channel_call_ended_cb (GabbleCallMucChannel *muc, gpointer user_data)
+muc_channel_call_state_changed_cb (GabbleCallMucChannel *muc, TpCallState state,
+ TpCallFlags flags, GValueArray *reason, GHashTable *details,
+ GabbleMucChannel *gmuc)
{
- GabbleMucChannel *self = GABBLE_MUC_CHANNEL (user_data);
+ GabbleMucChannelPrivate *priv = gmuc->priv;
+ if (state != TP_CALL_STATE_ENDED)
+ return;
- g_assert (self->priv->call == muc);
- self->priv->call = NULL;
+ if (priv->call == muc)
+ priv->call = NULL;
}
static void
@@ -3602,8 +3606,8 @@ muc_channel_call_channel_done_cb (GObject *source,
G_CALLBACK (muc_channel_call_closed_cb),
gmuc);
- g_signal_connect (priv->call, "ended",
- G_CALLBACK (muc_channel_call_ended_cb),
+ g_signal_connect (priv->call, "call-state-changed",
+ G_CALLBACK (muc_channel_call_state_changed_cb),
gmuc);
error: