From 701418ab6394ed0ede604b08bd059fc59e6e18af Mon Sep 17 00:00:00 2001 From: "Jamin W. Collins" Date: Tue, 25 Sep 2018 21:26:43 -0600 Subject: [PATCH] avoid CME in cleanUpTemporaryReplacements() Signed-off-by: Jamin W. Collins --- .../forge/game/replacement/ReplacementHandler.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java index c47dd86d932..b1843c1850d 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java @@ -309,13 +309,15 @@ public class ReplacementHandler { game.forEachCardInGame(new Visitor() { @Override public boolean visit(Card c) { - for (int i = 0; i < c.getReplacementEffects().size(); i++) { - ReplacementEffect rep = c.getReplacementEffects().get(i); + List toRemove = Lists.newArrayList(); + for (ReplacementEffect rep : c.getReplacementEffects()) { if (rep.isTemporary()) { - c.removeReplacementEffect(rep); - i--; + toRemove.add(rep); } } + for (ReplacementEffect rep : toRemove) { + c.removeReplacementEffect(rep); + } return true; } });