Core/Dungeon Finder: add safe check in first call to FindNewGroup (Avoids Thousands of recursive calls

)

--HG--
branch : trunk
This commit is contained in:
Spp
2010-09-16 18:53:25 +02:00
parent 4d88ce57d2
commit 5ec5d5b6be
+14 -1
View File
@@ -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);