浏览代码

Fix potential concurrent access

Ivan Savenko 9 月之前
父节点
当前提交
3d1bf03a25
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      AI/BattleAI/BattleEvaluator.cpp

+ 3 - 1
AI/BattleAI/BattleEvaluator.cpp

@@ -756,7 +756,9 @@ bool BattleEvaluator::attemptCastingSpell(const CStack * activeStack)
 
 					auto updatedAttack = AttackPossibility::evaluate(updatedBai, cachedAttack.ap->from, innerCache, state);
 
-					stackActionScore = scoreEvaluator.evaluateExchange(updatedAttack, cachedAttack.turn, *targets, innerCache, state);
+					BattleExchangeEvaluator innerEvaluator(scoreEvaluator);
+
+					stackActionScore = innerEvaluator.evaluateExchange(updatedAttack, cachedAttack.turn, *targets, innerCache, state);
 				}
 				for(const auto & unit : allUnits)
 				{