aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSpp <none@none>2010-12-09 14:25:48 +0100
committerSpp <none@none>2010-12-09 14:25:48 +0100
commit4914ca575bd0a14918947baf131df739339fce38 (patch)
tree54d15137f9276cdcd254fb6c852617532ca23b08
parent4537ba27664ba31e6914546dfc8d3a286dac8717 (diff)
Core/Dungeon Finder: Fix a crash in Join
After a random dungeon is expanded to the corresponding dungeons and checked compatible dungeons of players joining. We have no dungeons and no lockmap. This may only happen when a random dungeon is expanded to no dungeon. And this may be impossible to happen Closes issue 5066 --HG-- branch : trunk
-rwxr-xr-xsrc/server/game/DungeonFinding/LFGMgr.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index 8ec2863f143..2f7435d6a81 100755
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -539,10 +539,6 @@ void LFGMgr::Join(Player* plr, uint8 roles, LfgDungeonSet& dungeons, std::string
{
sLog.outDebug("LFGMgr::Join: [" UI64FMTD "] joining with %u members. result: LFG_JOIN_PARTY_NOT_MEET_REQS", guid, uint8(players.size()));
plr->GetSession()->SendLfgJoinResult(LFG_JOIN_PARTY_NOT_MEET_REQS, 0, lockStatusMap);
- for (LfgLockStatusMap::const_iterator it = lockStatusMap->begin(); it != lockStatusMap->end(); ++it)
- delete it->second;
- delete lockStatusMap;
- return;
}
if (lockStatusMap)
{
@@ -550,6 +546,8 @@ void LFGMgr::Join(Player* plr, uint8 roles, LfgDungeonSet& dungeons, std::string
delete it->second;
delete lockStatusMap;
}
+ if (!dungeons.size())
+ return;
}
// Can't join. Send result