summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKai Vehmanen <kai.vehmanen@nokia.com>2011-01-20 23:59:57 +0200
committerKai Vehmanen <kai.vehmanen@nokia.com>2011-01-21 13:17:46 +0200
commitbb5b149908878b58d50e8e47ff4613c0a2643f49 (patch)
treee1878577ae6344e894ff2cc10328f875006e4c03 /src
parent409f2cd1f18806039fc7b33add4df5dade494779 (diff)
ring-call-channel: comments to code handling conf leaves
Add a few code comments and extra debug statements to make it slightly easier to understand how leaving a conference channel is implemented.
Diffstat (limited to 'src')
-rw-r--r--src/ring-call-channel.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ring-call-channel.c b/src/ring-call-channel.c
index 5d68534..71ec32b 100644
--- a/src/ring-call-channel.c
+++ b/src/ring-call-channel.c
@@ -648,8 +648,8 @@ ring_call_channel_close(RingMediaChannel *_self, gboolean immediately)
"Member channel closed",
actor, reason);
+ /* above emit calls ring_member_channel_left() */
g_assert(priv->member.conference == NULL);
- priv->member.conference = NULL;
}
if (self->base.call_instance) {
@@ -1156,8 +1156,8 @@ on_modem_call_notify_multiparty(ModemCall *ci, GParamSpec *pspec, gpointer user_
priv->member.conference, RING_MEMBER_CHANNEL(self),
"Conference call split", actor, reason);
+ /* above emit calls ring_member_channel_left() */
g_assert(priv->member.conference == NULL);
- priv->member.conference = NULL;
}
}
@@ -1684,6 +1684,8 @@ ring_call_channel_released(RingCallChannel *self,
ring_conference_channel_emit_channel_removed(
self->priv->member.conference, RING_MEMBER_CHANNEL(self),
message, actor, reason);
+ /* above emit calls ring_member_channel_left() */
+ g_assert(self->priv->member.conference == NULL);
}
g_free(dbus_error);
@@ -1841,6 +1843,7 @@ ring_member_channel_joined(RingMemberChannel *iface,
RingCallChannelPrivate *priv = self->priv;
if (priv->member.conference) {
+ DEBUG("switching to a new conference");
if (priv->member.conference == conference)
return;
ring_conference_channel_emit_channel_removed(
@@ -1848,6 +1851,8 @@ ring_member_channel_joined(RingMemberChannel *iface,
"Joined new conference",
self->group.self_handle,
TP_CHANNEL_GROUP_CHANGE_REASON_INVITED);
+ /* above emit calls ring_member_channel_left() */
+ g_assert(priv->member.conference == NULL);
}
g_assert(priv->member.conference == NULL);