From 966936b01ab732c84832be93fb136da63112cc75 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 17 Oct 2023 15:48:02 +0200 Subject: Core/Misc: Fixed thread-unsafe access to list of objects that should be spawned in a cell Closes #29372 (cherry picked from commit 7b6589c1ecc159f6949c5535785fba79a04b2c4a) --- src/server/game/Grids/ObjectGridLoader.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/server/game/Grids/ObjectGridLoader.cpp') diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp index bcb6e6b41af..b5e5826f042 100644 --- a/src/server/game/Grids/ObjectGridLoader.cpp +++ b/src/server/game/Grids/ObjectGridLoader.cpp @@ -121,15 +121,15 @@ void LoadHelper(CellGuidSet const& guid_set, CellCoord &cell, GridRefManager void ObjectGridLoader::Visit(GameObjectMapType &m) { CellCoord cellCoord = i_cell.GetCellCoord(); - CellObjectGuids const& cell_guids = sObjectMgr->GetCellObjectGuids(i_map->GetId(), i_map->GetSpawnMode(), cellCoord.GetId()); - LoadHelper(cell_guids.gameobjects, cellCoord, m, i_gameObjects, i_map); + if (CellObjectGuids const* cell_guids = sObjectMgr->GetCellObjectGuids(i_map->GetId(), i_map->GetSpawnMode(), cellCoord.GetId())) + LoadHelper(cell_guids->gameobjects, cellCoord, m, i_gameObjects, i_map); } void ObjectGridLoader::Visit(CreatureMapType &m) { CellCoord cellCoord = i_cell.GetCellCoord(); - CellObjectGuids const& cell_guids = sObjectMgr->GetCellObjectGuids(i_map->GetId(), i_map->GetSpawnMode(), cellCoord.GetId()); - LoadHelper(cell_guids.creatures, cellCoord, m, i_creatures, i_map); + if (CellObjectGuids const* cell_guids = sObjectMgr->GetCellObjectGuids(i_map->GetId(), i_map->GetSpawnMode(), cellCoord.GetId())) + LoadHelper(cell_guids->creatures, cellCoord, m, i_creatures, i_map); } void ObjectWorldLoader::Visit(CorpseMapType& /*m*/) -- cgit v1.2.3