From 0c7f37dab30a730ef715b78f2f618f7e685ff1f0 Mon Sep 17 00:00:00 2001 From: Spp Date: Tue, 17 Aug 2010 11:38:30 +0200 Subject: Dungeon Finder: Properly remove a player/group from queue after a proposal is formed This should fix some of the inconsistencies --HG-- branch : trunk --- src/server/game/DungeonFinding/LFGMgr.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index c417bc9c2b1..4965726b778 100644 --- a/src/server/game/DungeonFinding/LFGMgr.cpp +++ b/src/server/game/DungeonFinding/LFGMgr.cpp @@ -255,7 +255,8 @@ void LFGMgr::Update(uint32 diff) // Remove groups in the proposal from the queue for (LfgGuidList::const_iterator it = pProposal->queues.begin(); it != pProposal->queues.end(); ++it) - m_currentQueue.remove(*it); + RemoveFromQueue(*it); + m_Proposals[++m_lfgProposalId] = pProposal; for (LfgProposalPlayerMap::const_iterator itPlayers = pProposal->players.begin(); itPlayers != pProposal->players.end(); ++itPlayers) @@ -284,8 +285,10 @@ void LFGMgr::Update(uint32 diff) proposals.clear(); } else + { m_currentQueue.push_back(m_newToQueue.front()); // Group not found, add this group to the queue. - m_newToQueue.pop_front(); + m_newToQueue.pop_front(); + } firstNew.clear(); } -- cgit v1.2.3