Upate cleanUpTemporaryTriggers to prevent Modification Exception

This commit is contained in:
Hans Mackowiak
2018-09-19 08:02:54 +00:00
parent b50f44d10c
commit a28c010b59

View File

@@ -63,14 +63,16 @@ public class TriggerHandler {
@Override @Override
public boolean visit(Card c) { public boolean visit(Card c) {
boolean changed = false; boolean changed = false;
for (int i = 0; i < c.getTriggers().size(); i++) { List<Trigger> toRemove = Lists.newArrayList();
Trigger trigger = c.getTriggers().get(i); for (Trigger t : c.getTriggers()) {
if (trigger.isTemporary()) { if (t.isTemporary()) {
c.removeTrigger(trigger); toRemove.add(t);
changed = true;
i--;
} }
} }
for (Trigger t : toRemove) {
changed = true;
c.removeTrigger(t);
}
if (changed) { if (changed) {
c.updateStateForView(); c.updateStateForView();
} }