diff options
| author | Shauren <shauren.trinity@gmail.com> | 2020-03-06 19:09:29 +0100 | 
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2020-03-06 19:09:29 +0100 | 
| commit | f06ac0fedbc1def23cfb32501f6d3332d1251107 (patch) | |
| tree | b4a88a65f03fae88250a4729e39b7bffeb504865 /src/server/game/Globals/ObjectMgr.cpp | |
| parent | e10313b380c84dafde462bdb116827f2b8be1851 (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.cpp | 11 | 
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;  }  | 
