aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-03-06 19:09:29 +0100
committerShauren <shauren.trinity@gmail.com>2020-03-06 19:09:29 +0100
commitf06ac0fedbc1def23cfb32501f6d3332d1251107 (patch)
treeb4a88a65f03fae88250a4729e39b7bffeb504865 /src/server/game/Globals/ObjectMgr.cpp
parente10313b380c84dafde462bdb116827f2b8be1851 (diff)
Build: Work around internal compiler errors in VS 2019 with dynamic build and PCH
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index af3438aa3d0..a0559650ccf 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -9253,7 +9253,14 @@ void ObjectMgr::LoadCreatureDefaultTrainers()
continue;
}
- _creatureDefaultTrainers[creatureId] = trainerId;
+ Trainer::Trainer* trainer = Trinity::Containers::MapGetValuePtr(_trainers, trainerId);
+ if (!trainer)
+ {
+ TC_LOG_ERROR("sql.sql", "Table `creature_default_trainer` references non-existing trainer (TrainerId: %u) for CreatureId %u, ignoring", trainerId, creatureId);
+ continue;
+ }
+
+ _creatureDefaultTrainers[creatureId] = trainer;
} while (result->NextRow());
}
@@ -9467,7 +9474,7 @@ Trainer::Trainer const* ObjectMgr::GetTrainer(uint32 creatureId) const
{
auto itr = _creatureDefaultTrainers.find(creatureId);
if (itr != _creatureDefaultTrainers.end())
- return Trinity::Containers::MapGetValuePtr(_trainers, itr->second);
+ return itr->second;
return nullptr;
}