From 0c2f5340cc3f9d2309f27a5cc593381feec93b5c Mon Sep 17 00:00:00 2001 From: jackpoz Date: Tue, 31 Dec 2013 20:08:11 +0100 Subject: 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. --- src/server/game/Globals/ObjectMgr.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src') 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()); -- cgit v1.2.3