summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2009-09-29 20:25:20 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2009-09-29 20:25:20 +0100
commitc725b70255e0d87079e7cf91d553071403746501 (patch)
treee1fc4f5645d7646821ee51342bdb4b56d3d7d513
parent6a4b8598f698ad726c43e2ec736bb6b2168fb822 (diff)
downloadtelepathy-mission-control-c725b70255e0d87079e7cf91d553071403746501.tar.gz
McdChannel: consider MembersChanged(..., ERROR) to indicate a missed call, even if we were the actor
This correctly causes MC to think calls were missed if the streaming implementation calls Error() on telepathy-gabble >= 0.8.4, for instance if none of the candidates provided in the signalling actually work.
-rw-r--r--src/mcd-channel.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mcd-channel.c b/src/mcd-channel.c
index ec2e6d3b..4c8dd322 100644
--- a/src/mcd-channel.c
+++ b/src/mcd-channel.c
@@ -176,7 +176,9 @@ on_members_changed (TpChannel *proxy, const gchar *message,
}
if (removed && removed->len > 0 &&
- (actor == 0 || (actor != self_handle && actor != conn_self_handle)))
+ (actor == 0 ||
+ reason == TP_CHANNEL_GROUP_CHANGE_REASON_ERROR ||
+ (actor != self_handle && actor != conn_self_handle)))
{
for (i = 0; i < removed->len; i++)
{