Core/Dungeon Finder: Fix crash in recursive calls while joining
closes issue 5162 --HG-- branch : trunk
This commit is contained in:
@@ -517,18 +517,11 @@ void LFGMgr::Join(Player* plr, uint8 roles, const LfgDungeonSet& selectedDungeon
|
|||||||
if (itr->getSource() && itr->getSource()->GetSession())
|
if (itr->getSource() && itr->getSource()->GetSession())
|
||||||
itr->getSource()->GetSession()->SendLfgUpdateParty(updateData);
|
itr->getSource()->GetSession()->SendLfgUpdateParty(updateData);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
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;
|
return;
|
||||||
}
|
}
|
||||||
|
else // Remove from queue and rejoin
|
||||||
|
RemoveFromQueue(gguid);
|
||||||
|
}
|
||||||
|
|
||||||
// Check player or group member restrictions
|
// Check player or group member restrictions
|
||||||
if (plr->InBattleground() || plr->InArena() || plr->InBattlegroundQueue())
|
if (plr->InBattleground() || plr->InArena() || plr->InBattlegroundQueue())
|
||||||
|
|||||||
Reference in New Issue
Block a user