From ff4803c5061512c33ca14028d05c4db06b376e29 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Wed, 3 Mar 2021 18:43:25 +0800 Subject: [PATCH] prevent NPE it seems repeated momir ai games and you switch to human player and start any game causes the NPE resulting to crashing the UI --- forge-game/src/main/java/forge/game/player/PlayerView.java | 2 -- forge-gui/src/main/java/forge/match/AbstractGuiGame.java | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/forge-game/src/main/java/forge/game/player/PlayerView.java b/forge-game/src/main/java/forge/game/player/PlayerView.java index 97cbd788579..36805905d79 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerView.java +++ b/forge-game/src/main/java/forge/game/player/PlayerView.java @@ -64,8 +64,6 @@ public class PlayerView extends GameEntityView { } public String getLobbyPlayerName() { - if (get(TrackableProperty.LobbyPlayerName) == null) - return ""; //todo find the root cause why this would return null after succesful start of game and could freeze the UI? return get(TrackableProperty.LobbyPlayerName); } void updateLobbyPlayerName(Player p) { diff --git a/forge-gui/src/main/java/forge/match/AbstractGuiGame.java b/forge-gui/src/main/java/forge/match/AbstractGuiGame.java index f42aa402700..1ec1bbc51ea 100644 --- a/forge-gui/src/main/java/forge/match/AbstractGuiGame.java +++ b/forge-gui/src/main/java/forge/match/AbstractGuiGame.java @@ -403,7 +403,7 @@ public abstract class AbstractGuiGame implements IGuiGame, IMayViewCards { @Override public final void awaitNextInput() { - if (awaitNextInputTimer == null) { + if (awaitNextInputTimer == null && currentPlayer != null) { //Prevent NPE currentPlayer awaitNextInputTimer = new Timer("awaitNextInputTimer Game:" + this.gameView.getId() + " Player:" + this.currentPlayer.getLobbyPlayerName()); } //delay updating prompt to await next input briefly so buttons don't flicker disabled then enabled