35 lines
1.6 KiB
Diff
35 lines
1.6 KiB
Diff
From afb701ae339e92d7c574baec7d09a3b0affa123d Mon Sep 17 00:00:00 2001
|
|
From: md_5 <git@md-5.net>
|
|
Date: Wed, 22 Jul 2015 19:04:37 +1000
|
|
Subject: [PATCH] Clear Packet Queue on Disconnect
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
|
|
index 247973d..9d23c6c 100644
|
|
--- a/src/main/java/net/minecraft/server/NetworkManager.java
|
|
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
|
|
@@ -313,6 +313,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet> {
|
|
} else if (this.getPacketListener() != null) {
|
|
this.getPacketListener().a(new ChatComponentText("Disconnected"));
|
|
}
|
|
+ this.i.clear(); // Free up packet queue.
|
|
} else {
|
|
NetworkManager.g.warn("handleDisconnection() called twice");
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
index dce0ac4..e380774 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
@@ -868,7 +868,7 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList
|
|
}
|
|
|
|
// CraftBukkit start
|
|
- if (packet == null) {
|
|
+ if (packet == null || this.processedDisconnect) { // Spigot
|
|
return;
|
|
} else if (packet instanceof PacketPlayOutSpawnPosition) {
|
|
PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet;
|
|
--
|
|
2.1.4
|
|
|