aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index 41572b3644f..af83c1cf986 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -779,9 +779,22 @@ void LFGMgr::FindNewGroups(LfgGuidList &check, LfgGuidList all, LfgProposalList
if (!check.size() || check.size() > MAXGROUPSIZE)
return;
+ if (check.size() == 1) // Consistency check
+ {
+ uint64 guid = *check.begin();
+ LfgQueueInfoMap::iterator itQueue = m_QueueInfoMap.find(guid);
+ if (itQueue == m_QueueInfoMap.end())
+ {
+ sLog.outError("LFGMgr::FindNewGroups: [" UI64FMTD "] is not queued but listed as queued!", guid);
+ RemoveFromQueue(guid);
+ return;
+ }
+ }
+
sLog.outDebug("LFGMgr::FindNewGroup: (%s) - all(%s)", ConcatenateGuids(check).c_str(), ConcatenateGuids(all).c_str());
- LfgGuidList compatibles;
+
// Check individual compatibilities
+ LfgGuidList compatibles;
for (LfgGuidList::iterator it = all.begin(); it != all.end(); ++it)
{
check.push_back(*it);