aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/CharacterHandler.cpp
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2018-01-17 02:17:49 -0300
committerShauren <shauren.trinity@gmail.com>2021-06-16 01:00:11 +0200
commit21556667c16b282b77934bddee3d86f0c632ef31 (patch)
tree4669148763e4d450f12a46a7f2c8a7a2f6913a87 /src/server/game/Handlers/CharacterHandler.cpp
parent5b5bc4c5c7cad020bd831185057451b674c234d8 (diff)
Core/Globals: throw some RAII into ObjectMgr, and load templates into vectors
Ref #14274 (cherry picked from commit b64c5043140dc7b7908e259e441de16cc0261320)
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 1b8aef79de5..66b91c80497 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -2365,10 +2365,12 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa
// Disable all old-faction specific quests
{
- ObjectMgr::QuestMap const& questTemplates = sObjectMgr->GetQuestTemplates();
- for (ObjectMgr::QuestMap::const_iterator iter = questTemplates.begin(); iter != questTemplates.end(); ++iter)
+ ObjectMgr::QuestContainer const& questTemplates = sObjectMgr->GetQuestTemplates();
+ for (auto const& quest : questTemplates)
{
- Quest const* quest = iter->second;
+ if (!quest)
+ continue;
+
uint64 newRaceMask = (newTeamId == TEAM_ALLIANCE) ? RACEMASK_ALLIANCE : RACEMASK_HORDE;
if (quest->GetAllowableRaces().RawValue != uint64(-1) && !(quest->GetAllowableRaces().RawValue & newRaceMask))
{