From c080f5cb193ab5fa33843394d60e73a8cb70da47 Mon Sep 17 00:00:00 2001 From: Agetian Date: Sat, 6 Sep 2014 04:24:39 +0000 Subject: [PATCH] - Fix a rare NPE related to trying to show a card to a particular player outside of game context. - Allow all cards to be shown the player when in developer mode (in order to be consistent with the fact that the player is able to see everything in dev mode including both players' hands and the content of both libraries). --- forge-game/src/main/java/forge/game/card/Card.java | 2 ++ forge-gui-desktop/src/main/java/forge/control/FControl.java | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 08320222163..317a9e62873 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -8869,6 +8869,8 @@ public class Card extends GameEntity implements Comparable { } public boolean canBeShownTo(final Player viewer) { + if (viewer == null) { return false; } + Zone zone = this.getZone(); if (zone == null) { return true; } //cards outside any zone are visible to all diff --git a/forge-gui-desktop/src/main/java/forge/control/FControl.java b/forge-gui-desktop/src/main/java/forge/control/FControl.java index 62a0f135d05..0ba9aac896f 100644 --- a/forge-gui-desktop/src/main/java/forge/control/FControl.java +++ b/forge-gui-desktop/src/main/java/forge/control/FControl.java @@ -370,7 +370,7 @@ public enum FControl implements KeyEventDispatcher { } public boolean mayShowCard(Card c) { - return game == null || !gameHasHumanPlayer || c.canBeShownTo(getCurrentPlayer()); + return game == null || !gameHasHumanPlayer || ForgePreferences.DEV_MODE || c.canBeShownTo(getCurrentPlayer()); } /**