diff options
Diffstat (limited to 'CraftBukkit-Patches/0141-Process-conversation-input-on-the-main-thread.-Fixes.patch')
-rw-r--r-- | CraftBukkit-Patches/0141-Process-conversation-input-on-the-main-thread.-Fixes.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/CraftBukkit-Patches/0141-Process-conversation-input-on-the-main-thread.-Fixes.patch b/CraftBukkit-Patches/0141-Process-conversation-input-on-the-main-thread.-Fixes.patch new file mode 100644 index 0000000000..298de77884 --- /dev/null +++ b/CraftBukkit-Patches/0141-Process-conversation-input-on-the-main-thread.-Fixes.patch @@ -0,0 +1,41 @@ +From ed472fc3b22d71daf95948176d72e4f748781566 Mon Sep 17 00:00:00 2001 +From: riking <[email protected]> +Date: Wed, 14 May 2014 13:46:48 -0700 +Subject: [PATCH] Process conversation input on the main thread. Fixes + BUKKIT-5611 + + +diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java +index 0804fe7..b723b73 100644 +--- a/src/main/java/net/minecraft/server/PlayerConnection.java ++++ b/src/main/java/net/minecraft/server/PlayerConnection.java +@@ -835,7 +835,25 @@ public class PlayerConnection implements PacketPlayInListener { + } else if (s.isEmpty()) { + c.warn(this.player.getName() + " tried to send an empty message"); + } else if (getPlayer().isConversing()) { +- getPlayer().acceptConversationInput(s); ++ final String message = s; ++ ++ Waitable waitable = new Waitable() { ++ @Override ++ protected Object evaluate() { ++ getPlayer().acceptConversationInput(message); ++ return null; ++ } ++ }; ++ ++ this.minecraftServer.processQueue.add(waitable); ++ ++ try { ++ waitable.get(); ++ } catch (InterruptedException e) { ++ Thread.currentThread().interrupt(); ++ } catch (ExecutionException e) { ++ throw new RuntimeException(e); ++ } + } else if (this.player.getChatFlags() == EnumChatVisibility.SYSTEM) { // Re-add "Command Only" flag check + ChatMessage chatmessage = new ChatMessage("chat.cannotSend", new Object[0]); + +-- +1.9.1 + |