From fd9ee82b5373a7b18e6c6ffd74da9cd265e40d3b Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sat, 16 Oct 2021 22:52:28 +0200 Subject: [PATCH] Fix NPE when starting Quick Gauntlet with no deck selected --- .../screens/home/gauntlet/CSubmenuGauntletQuick.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletQuick.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletQuick.java index eab8f578b71..307a183cb32 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletQuick.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletQuick.java @@ -58,6 +58,11 @@ public enum CSubmenuGauntletQuick implements ICDoc { } private void startGame() { + final RegisteredPlayer player = view.getLstDecks().getPlayer(); + if (player == null) { // no deck selected + return; + } + // Start game overlay SwingUtilities.invokeLater(new Runnable() { @Override @@ -83,10 +88,10 @@ public enum CSubmenuGauntletQuick implements ICDoc { if (view.getBoxQuestDecks().isSelected()) { allowedDeckTypes.add(DeckType.QUEST_OPPONENT_DECK); } if (view.getBoxPreconDecks().isSelected()) { allowedDeckTypes.add(DeckType.PRECONSTRUCTED_DECK); } - final GauntletData gd = GauntletUtil.createQuickGauntlet(view.getLstDecks().getPlayer().getDeck(), view.getSliOpponents().getValue(), allowedDeckTypes, null); + final GauntletData gd = GauntletUtil.createQuickGauntlet(player.getDeck(), view.getSliOpponents().getValue(), allowedDeckTypes, null); final List starter = new ArrayList<>(); - final RegisteredPlayer human = new RegisteredPlayer(gd.getUserDeck()).setPlayer(GamePlayerUtil.getGuiPlayer()); + final RegisteredPlayer human = player.setPlayer(GamePlayerUtil.getGuiPlayer()); starter.add(human); starter.add(new RegisteredPlayer(gd.getDecks().get(gd.getCompleted())).setPlayer(GamePlayerUtil.createAiPlayer()));