From dc3f487d6b5a03479fb8078a168ce957f7f64020 Mon Sep 17 00:00:00 2001 From: Myrd Date: Sat, 10 Jan 2015 01:50:56 +0000 Subject: [PATCH] Fix following exception at game end: java.lang.RuntimeException: Cannot remove input InputPayManaOfCostPayment because it's not on top of stack. Stack = [] at forge.match.input.InputQueue.removeInput(InputQueue.java:60) at forge.match.input.InputSyncronizedBase.stop(InputSyncronizedBase.java:49) at forge.match.input.InputPayMana.onStateChanged(InputPayMana.java:431) at forge.match.input.InputPayMana$3.run(InputPayMana.java:382) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) --- .../src/main/java/forge/match/input/InputSyncronizedBase.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/forge-gui/src/main/java/forge/match/input/InputSyncronizedBase.java b/forge-gui/src/main/java/forge/match/input/InputSyncronizedBase.java index f9dcef5ef38..654c983ae9e 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSyncronizedBase.java +++ b/forge-gui/src/main/java/forge/match/input/InputSyncronizedBase.java @@ -46,7 +46,9 @@ public abstract class InputSyncronizedBase extends InputBase implements InputSyn }); // thread irrelevant - getController().getInputQueue().removeInput(InputSyncronizedBase.this); + if (getController().getInputQueue().getInput() != null) { + getController().getInputQueue().removeInput(InputSyncronizedBase.this); + } cdlDone.countDown(); }