mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
Prevent crashes from calling CardView.getCards and assumming non-null
This commit is contained in:
@@ -48,7 +48,7 @@ public class ZoneAction extends ForgeAction {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent e) {
|
||||
final Iterable<CardView> choices = this.getCardsAsIterable();
|
||||
if (!choices.iterator().hasNext()) {
|
||||
if (choices == null || !choices.iterator().hasNext()) {
|
||||
GuiChoose.reveal(this.title, "no cards");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -598,7 +598,13 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
|
||||
private void recalculateCardPanels(final PlayerView model, final ZoneType zone) {
|
||||
final List<CardView> modelCopy;
|
||||
synchronized (model) {
|
||||
modelCopy = Lists.newArrayList(model.getCards(zone));
|
||||
Iterable<CardView> cards = model.getCards(zone);
|
||||
if (cards != null) {
|
||||
modelCopy = Lists.newArrayList(cards);
|
||||
}
|
||||
else {
|
||||
modelCopy = Lists.newArrayList();
|
||||
}
|
||||
}
|
||||
|
||||
final List<CardView> oldCards = Lists.newArrayList();
|
||||
@@ -620,7 +626,8 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
|
||||
|
||||
if (toDelete.size() == getCardPanels().size()) {
|
||||
clear();
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
for (final CardView card : toDelete) {
|
||||
removeCardPanel(getCardPanel(card.getId()));
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ public abstract class VCardDisplayArea extends VDisplayArea {
|
||||
clear();
|
||||
|
||||
CardAreaPanel newCardPanel = null;
|
||||
if (model != null) {
|
||||
for (CardView card : model) {
|
||||
CardAreaPanel cardPanel = CardAreaPanel.get(card);
|
||||
addCardPanelToDisplayArea(cardPanel);
|
||||
@@ -54,6 +55,7 @@ public abstract class VCardDisplayArea extends VDisplayArea {
|
||||
newCardPanel = cardPanel;
|
||||
}
|
||||
}
|
||||
}
|
||||
revalidate();
|
||||
|
||||
if (newCardPanel != null) { //if new cards added, ensure first new card is scrolled into view
|
||||
|
||||
Reference in New Issue
Block a user