aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSpp <none@none>2010-12-23 15:26:41 +0100
committerSpp <none@none>2010-12-23 15:26:41 +0100
commitb6724bea03f6421b7168f098554cd4c43f5e75f3 (patch)
tree02053d793745208af400d998b363233f3c24e896 /src
parentb2b2f44506e4636cee1cb832d9ce8b423751a4b4 (diff)
Core/Dungeon Finder: Fix crash in recursive calls while joining
closes issue 5162 --HG-- branch : trunk
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/DungeonFinding/LFGMgr.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index a439e7576f3..25231417860 100755
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -517,17 +517,10 @@ void LFGMgr::Join(Player* plr, uint8 roles, const LfgDungeonSet& selectedDungeon
if (itr->getSource() && itr->getSource()->GetSession())
itr->getSource()->GetSession()->SendLfgUpdateParty(updateData);
}
+ return;
}
- else if (!isContinue) // Different dungeons and it's not a LfgGroup in the middle of a dungeon that need more people
- {
- Leave(plr, grp);
- LfgState pstate = GetState(guid);
- if (pstate == LFG_STATE_NONE)
- Join(plr, roles, dungeons, comment);
- else
- sLog.outError("LFGMgr::Join [" UI64FMTD "] joined with different dungeons and leave failed! Player state: %u", guid, pstate);
- }
- return;
+ else // Remove from queue and rejoin
+ RemoveFromQueue(gguid);
}
// Check player or group member restrictions