From 123f5919bac01a71a56e4b8fc4e6b126cda1dd74 Mon Sep 17 00:00:00 2001 From: Lex Manos Date: Fri, 9 May 2014 13:23:24 -0700 Subject: [PATCH] Fix network disconnect with message on the client side in NetworkDispatcher. --- .../network/handshake/NetworkDispatcher.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/fml/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java b/fml/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java index 2352becfe5..f23897d66c 100644 --- a/fml/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java +++ b/fml/src/main/java/cpw/mods/fml/common/network/handshake/NetworkDispatcher.java @@ -229,14 +229,21 @@ public class NetworkDispatcher extends SimpleChannelInboundHandler imple private void kickWithMessage(String message) { final ChatComponentText chatcomponenttext = new ChatComponentText(message); - manager.scheduleOutboundPacket(new S40PacketDisconnect(chatcomponenttext), new GenericFutureListener>() + if (side == Side.CLIENT) { - @Override - public void operationComplete(Future result) + manager.closeChannel(chatcomponenttext); + } + else + { + manager.scheduleOutboundPacket(new S40PacketDisconnect(chatcomponenttext), new GenericFutureListener>() { - manager.closeChannel(chatcomponenttext); - } - }); + @Override + public void operationComplete(Future result) + { + manager.closeChannel(chatcomponenttext); + } + }); + } manager.channel().config().setAutoRead(false); }