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
public boolean visit(Card c) {
boolean changed = false;
for (int i = 0; i < c.getTriggers().size(); i++) {
Trigger trigger = c.getTriggers().get(i);
if (trigger.isTemporary()) {
c.removeTrigger(trigger);
changed = true;
i--;
List<Trigger> toRemove = Lists.newArrayList();
for (Trigger t : c.getTriggers()) {
if (t.isTemporary()) {
toRemove.add(t);
}
}
for (Trigger t : toRemove) {
changed = true;
c.removeTrigger(t);
}
if (changed) {
c.updateStateForView();
}