Browse Source

AI crash — do not modify container when iterating it.

Michał W. Urbańczyk 11 năm trước cách đây
mục cha
commit
93b8d2e59a
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      AI/VCAI/VCAI.cpp

+ 2 - 1
AI/VCAI/VCAI.cpp

@@ -1248,7 +1248,8 @@ bool VCAI::canRecruitAnyHero (const CGTownInstance * t) const
 void VCAI::wander(HeroPtr h)
 {
 	//unclaim objects that are now dangerous for us
-	for (auto obj : reservedHeroesMap[h])
+	auto reservedObjsSetCopy = reservedHeroesMap[h];
+	for (auto obj : reservedObjsSetCopy)
 	{
 		if (!isSafeToVisit(h, obj->visitablePos()))
 			unreserveObject(h, obj);