From f3b8b6034eb3c937d2d55c55077126f18f61fd1d Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 18 Jul 2017 22:35:16 -0400 Subject: [PATCH] Fix getCurrentCommandOperationContext() peek exception --- core/src/main/java/co/aikar/commands/CommandManager.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/co/aikar/commands/CommandManager.java b/core/src/main/java/co/aikar/commands/CommandManager.java index b0781e1f..62f64705 100644 --- a/core/src/main/java/co/aikar/commands/CommandManager.java +++ b/core/src/main/java/co/aikar/commands/CommandManager.java @@ -36,7 +36,14 @@ public abstract class CommandManager > { /** * This is a stack incase a command calls a command */ - static ThreadLocal> commandOperationContext = ThreadLocal.withInitial(Stack::new); + static ThreadLocal> commandOperationContext = ThreadLocal.withInitial(() -> { + return new Stack() { + @Override + public synchronized CommandOperationContext peek() { + return super.size() == 0 ? null : super.peek(); + } + }; + }); protected Map rootCommands = new HashMap<>(); protected CommandReplacements replacements = new CommandReplacements(this); protected ExceptionHandler defaultExceptionHandler = null;