diff options
author | Spp <spp@jorge.gr> | 2010-08-17 11:38:30 +0200 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2010-08-17 11:38:30 +0200 |
commit | 0c7f37dab30a730ef715b78f2f618f7e685ff1f0 (patch) | |
tree | dcb5280b290b52e4f7f408eeb4a64228086b75a7 /src | |
parent | 6009ac3f45f89803039368d7c4f9858a7e02a308 (diff) |
Dungeon Finder: Properly remove a player/group from queue after a proposal is formed
This should fix some of the inconsistencies
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/DungeonFinding/LFGMgr.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
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(); } |