diff options
author | Olivier CrĂȘte <olivier.crete@collabora.com> | 2012-01-30 16:05:34 +0000 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2012-01-30 16:05:34 +0000 |
commit | 4fe564149c374a2b30a4bfb8467b5d41f1fd4816 (patch) | |
tree | 369d3e49ce1b6572f95511b7036c962c2c16e356 /src/muc-channel.c | |
parent | af1a389766cad96903932f9231219ca5e80d5f98 (diff) | |
download | telepathy-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.c | 16 |
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: |