aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2013-12-31 20:08:11 +0100
committerjackpoz <giacomopoz@gmail.com>2013-12-31 20:08:11 +0100
commit0c2f5340cc3f9d2309f27a5cc593381feec93b5c (patch)
tree31f4475aa4bd4ba63d0d0493de10f59a52c339ef /src/server/game
parentfd72065645ced64b8838b957ffe686d40a2ed89b (diff)
Core/Quests: Fix crash on startup
Fix a crash on startup when loading Quest POIs if quest_poi table referenced POIs not in quest_poi_points table, caused by 5de48a67c6b650e98271acc704de8c4ed432bf4f . Fixes 11390.
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 9b0c14ac826..c84597ebce1 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -7049,9 +7049,13 @@ void ObjectMgr::LoadQuestPOI()
uint32 unk4 = fields[7].GetUInt32();
QuestPOI POI(id, objIndex, mapId, WorldMapAreaId, FloorId, unk3, unk4);
- POI.points = POIs[questId][id];
-
- _questPOIStore[questId].push_back(POI);
+ if (questId < POIs.size() && id < POIs[questId].size())
+ {
+ POI.points = POIs[questId][id];
+ _questPOIStore[questId].push_back(POI);
+ }
+ else
+ TC_LOG_ERROR("server.loading", "Table quest_poi references unknown quest points for quest %u POI id %u", questId, id);
++count;
} while (result->NextRow());