From 415dff6f2a47d71c5ac073442f71ee49bd4d8994 Mon Sep 17 00:00:00 2001
From: BJ Weschke <bweschke@btwtech.com>
Date: Mon, 8 May 2006 13:12:39 +0000
Subject: [PATCH] Merged revisions 25518 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r25518 | bweschke | 2006-05-08 09:11:32 -0400 (Mon, 08 May 2006) | 3 lines

 Don't recheck valid_exit() after getting the result from say_position (which already checks it). Should prevent another loop if the caller hits digits during the position announcement. #6776 (tgj reporting)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_queue.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/apps/app_queue.c b/apps/app_queue.c
index 4f5d3e33c3..b81e0912f5 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -1214,7 +1214,9 @@ static int say_position(struct queue_ent *qe)
 	/* Set our last_pos indicators */
  	qe->last_pos = now;
 	qe->last_pos_said = qe->pos;
-	ast_moh_start(qe->chan, qe->moh);
+	/* Don't restart music on hold if we're about to exit the caller from the queue */
+	if (!res)
+		ast_moh_start(qe->chan, qe->moh);
 
 	return res;
 }
@@ -3144,7 +3146,7 @@ check_turns:
 					/* Make a position announcement, if enabled */
 					if (qe.parent->announcefrequency && !ringing)
 						res = say_position(&qe);
-					if (res && valid_exit(&qe, res)) {
+					if (res) {
 						 ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITWITHKEY", "%s|%d", qe.digits, qe.pos);
 						break;
 					}
-- 
GitLab