From 32b595afb4311124f81c6612c7ec76209a739b83 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Thu, 4 Sep 2014 22:51:31 -0700 Subject: [PATCH] Fix iterator on mercstance crash bug --- zone/zone.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/zone/zone.cpp b/zone/zone.cpp index e91e3a4b7..2f1052f73 100644 --- a/zone/zone.cpp +++ b/zone/zone.cpp @@ -594,15 +594,17 @@ void Zone::LoadMercTemplates(){ tempMercTemplate.Stances[i] = 0; int stanceIndex = 0; - for (std::list::iterator mercStanceListItr = merc_stances.begin(); mercStanceListItr != merc_stances.end(); ++mercStanceListItr, ++stanceIndex) { + for (auto mercStanceListItr = merc_stances.begin(); mercStanceListItr != merc_stances.end(); ++mercStanceListItr) { if(mercStanceListItr->ClassID != tempMercTemplate.ClassID || mercStanceListItr->ProficiencyID != tempMercTemplate.ProficiencyID) continue; zone->merc_stance_list[tempMercTemplate.MercTemplateID].push_back((*mercStanceListItr)); tempMercTemplate.Stances[stanceIndex] = mercStanceListItr->StanceID; + ++stanceIndex; } merc_templates[tempMercTemplate.MercTemplateID] = tempMercTemplate; + } }