summaryrefslogtreecommitdiff
path: root/apps/confbridge
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2014-11-17 15:27:33 +0000
committerMatthew Jordan <mjordan@digium.com>2014-11-17 15:27:33 +0000
commit948af7fd798ece481046a7b6524bf1cae20d63ac (patch)
tree820ae03c8ddf3f9106c320aa6df22096ce25f888 /apps/confbridge
parentfc2279afea8656e624470b2f40e0e69f6a5f6130 (diff)
apps/app_confbridge: Ensure 'normal' users hear message when last marked leaves
When r428077 was made for ASTERISK-24522, it failed to take into account users who are neither wait_marked nor end_marked. These users are *also* supposed to hear the 'leader has left the conference' message. Granted, this behaviour is a bit odd; however, that is how it used to work... and behaviour changes are not good. This patch ensures that if there are any 'normal' users present when the last marked user leaves the conference, the message will still be played to them. Note that this regression was caught by the Asterisk Test Suite's confbridge_nominal test, which has a quirky combination of users. ........ Merged revisions 428113 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 428114 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 428115 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@428116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/confbridge')
-rw-r--r--apps/confbridge/conf_state_multi_marked.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/apps/confbridge/conf_state_multi_marked.c b/apps/confbridge/conf_state_multi_marked.c
index 417bdb044..5d977f7a2 100644
--- a/apps/confbridge/conf_state_multi_marked.c
+++ b/apps/confbridge/conf_state_multi_marked.c
@@ -107,6 +107,11 @@ static void leave_marked(struct confbridge_user *user)
user_iter->conference->activeusers--;
AST_LIST_INSERT_TAIL(&user_iter->conference->waiting_list, user_iter, list);
user_iter->conference->waitingusers++;
+ } else {
+ /* User is neither wait_marked nor end_marked; however, they
+ * should still hear the prompt.
+ */
+ need_prompt = 1;
}
}
AST_LIST_TRAVERSE_SAFE_END;