Fix NPE when trying to remove card

This commit is contained in:
TRT
2021-10-27 01:12:17 +02:00
parent 5e050765a3
commit cbbdd8584c
3 changed files with 14 additions and 22 deletions

View File

@@ -339,17 +339,14 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
//hide deck header on while drafting
setDeck(new Deck());
deckHeader.setVisible(false);
}
else {
} else {
if (newDeck == null) {
editorType.getController().newModel();
}
else {
} else {
editorType.getController().setDeck(newDeck);
}
}
}
else {
} else {
if (editorType == EditorType.Draft || editorType == EditorType.QuestDraft) {
tabPages[0].hideTab(); //hide Draft Pack page if editing existing draft deck
}
@@ -897,8 +894,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
public void handleEvent(FEvent e) {
if (max == 1) {
callback.run(max);
}
else {
} else {
final Localizer localizer = Localizer.getInstance();
GuiChoose.getInteger(cardManager.getSelectedItem() + " - " + verb + " " + localizer.getMessage("lblHowMany"), 1, max, 20, callback);
}
@@ -1150,8 +1146,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
default:
// Do nothing
}
}
else {
} else {
//if a commander has been set, only show cards that match its color identity
switch (editorType) {
case Commander:
@@ -1176,8 +1171,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
default:
if (cardManager.getWantUnique()) {
cardManager.setPool(editorType.applyCardFilter(FModel.getUniqueCardsNoAlt(), additionalFilter), true);
}
else {
} else {
cardManager.setPool(editorType.applyCardFilter(FModel.getAllCardsNoAlt(), additionalFilter), true);
}
break;
@@ -1250,8 +1244,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
CardPreferences.save();
}
}));
}
else {
} else {
menu.addItem(new FMenuItem(localizer.getMessage("lblRemoveFavorites"), Forge.hdbuttons ? FSkinImage.HDSTAR_OUTLINE : FSkinImage.STAR_OUTLINE, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
@@ -1376,8 +1369,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
protected void updateCaption() {
if (deckSection == DeckSection.Commander) {
caption = captionPrefix; //don't display count for commander section since it won't be more than 1
}
else {
} else {
caption = captionPrefix + " (" + parentScreen.getDeck().get(deckSection).countAll() + ")";
}
}
@@ -1767,8 +1759,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
if (isStored) {
if (isModelInSyncWithFolder()) {
setSaved(true);
}
else {
} else {
notifyModelChanged();
}
}
@@ -1779,8 +1770,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
}
if (model != null) {
editor.setDeck(model.getHumanDeck());
}
else {
} else {
editor.setDeck(null);
}

View File

@@ -525,6 +525,9 @@ public abstract class ItemManager<T extends InventoryItem> extends FContainer im
}
public void addItem(final T item, int qty) {
if (pool == null) {
return;
}
pool.add(item, qty);
if (isUnfiltered()) {
model.addItem(item, qty);

View File

@@ -80,8 +80,7 @@ public final class ItemManagerModel<T extends InventoryItem> {
if (data.count(item0) > 0) {
if (isInfinite()) {
data.removeAll(item0);
}
else {
} else {
data.remove(item0, qty);
}
isListInSync = false;