mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
Fix ConcurrentModificationException by iterating over a separate list
This commit is contained in:
committed by
Chris H
parent
7553d164f4
commit
77dc367c95
@@ -1,13 +1,12 @@
|
|||||||
package forge.deck;
|
package forge.deck;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.assets.FImage;
|
import forge.assets.FImage;
|
||||||
import forge.assets.FSkinImage;
|
import forge.assets.FSkinImage;
|
||||||
import forge.assets.ImageCache;
|
import forge.assets.ImageCache;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.item.PaperCardPredicates;
|
|
||||||
import forge.itemmanager.CardManager;
|
import forge.itemmanager.CardManager;
|
||||||
import forge.itemmanager.ItemManagerConfig;
|
import forge.itemmanager.ItemManagerConfig;
|
||||||
import forge.itemmanager.filters.ItemFilter;
|
import forge.itemmanager.filters.ItemFilter;
|
||||||
@@ -59,14 +58,14 @@ public class FDeckViewer extends FScreen {
|
|||||||
deckList.append(s.toString()).append(": ");
|
deckList.append(s.toString()).append(": ");
|
||||||
deckList.append(nl);
|
deckList.append(nl);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
ArrayList<String> accounted = new ArrayList<>();
|
||||||
for (final Entry<PaperCard, Integer> ev : cp) {
|
for (final Entry<PaperCard, Integer> ev : cp) {
|
||||||
count = cp.countByName(ev.getKey());
|
if(!accounted.contains(ev.getKey().getCardName()))
|
||||||
deckList.append(count).append(" ").append(ev.getKey().getCardName()).append(nl);
|
|
||||||
if(count != ev.getValue())
|
|
||||||
{
|
{
|
||||||
cp.removeAll(cp.getFilteredPool(PaperCardPredicates.name(ev.getKey().getCardName())));
|
count = cp.countByName(ev.getKey());
|
||||||
|
deckList.append(count).append(" ").append(ev.getKey().getCardName()).append(nl);
|
||||||
|
accounted.add(ev.getKey().getCardName());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
deckList.append(nl);
|
deckList.append(nl);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user