mirror of
https://github.com/PaperMC/Paper.git
synced 2024-08-28 07:29:40 +02:00
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: da08d022 SPIGOT-4700: Add PlayerFishEvent.State.REEL_IN 0cef14e4 Remove draft API from selectEntities CraftBukkit Changes:a46fdbc6
Remove outdated build delay.3697519b
SPIGOT-4708: Fix ExactChoice recipes neglecting material9ead7009
SPIGOT-4677: Add minecraft.admin.command_feedback permissionc3749a23
Remove the Damage tag from items when it is 0.f74c7b95
SPIGOT-4706: Can't interact with active item494eef45
Mention requirement of JIRA ticket for bug fixes51d62dec
SPIGOT-4702: Exception when middle clicking certain slotsbe557e69
SPIGOT-4700: Add PlayerFishEvent.State.REEL_IN
48 lines
2.3 KiB
Diff
48 lines
2.3 KiB
Diff
From c1585662600e8e6bfee07aa5a791f388de85717a Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Thu, 28 Feb 2019 00:15:28 -0500
|
|
Subject: [PATCH] Fix sign edit memory leak
|
|
|
|
when a player edits a sign, a reference to their Entity is never cleand up.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
index f63943f29f..b193fbab47 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
@@ -2512,7 +2512,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
|
|
|
TileEntitySign tileentitysign = (TileEntitySign) tileentity;
|
|
|
|
- if (!tileentitysign.d() || tileentitysign.e() != this.player) {
|
|
+ if (!tileentitysign.d() || tileentitysign.signEditor == null || !tileentitysign.signEditor.equals(this.player.getUniqueID())) { // Paper
|
|
this.minecraftServer.warning("Player " + this.player.getDisplayName().getString() + " just tried to change non-editable sign");
|
|
this.sendPacket(tileentity.getUpdatePacket()); // CraftBukkit
|
|
return;
|
|
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
|
|
index c2bcbbbab9..fdb771317a 100644
|
|
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
|
|
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
|
|
@@ -14,6 +14,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener {
|
|
// Paper start - Strip invalid unicode from signs on load
|
|
private static final boolean keepInvalidUnicode = Boolean.getBoolean("Paper.keepInvalidUnicode"); // Allow people to keep their bad unicode if they really want it
|
|
private boolean privateUnicodeRemoved = false;
|
|
+ public java.util.UUID signEditor;
|
|
// Paper end
|
|
|
|
public TileEntitySign() {
|
|
@@ -130,7 +131,10 @@ public class TileEntitySign extends TileEntity implements ICommandListener {
|
|
}
|
|
|
|
public void a(EntityHuman entityhuman) {
|
|
- this.g = entityhuman;
|
|
+ // Paper start
|
|
+ //this.g = entityhuman;
|
|
+ signEditor = entityhuman != null ? entityhuman.getUniqueID() : null;
|
|
+ // Paper end
|
|
}
|
|
|
|
public EntityHuman e() {
|
|
--
|
|
2.21.0
|
|
|