diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/DungeonFinding/LFGMgr.cpp | 15 |
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); |