Procházet zdrojové kódy

AI crash — do not modify container when iterating it.

Michał W. Urbańczyk před 11 roky
rodič
revize
93b8d2e59a
1 změnil soubory, kde provedl 2 přidání a 1 odebrání
  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);