diff options
author | md_5 <git@md-5.net> | 2016-11-28 10:02:40 +1100 |
---|---|---|
committer | md_5 <git@md-5.net> | 2016-11-28 10:02:40 +1100 |
commit | d7cce99f018b016e8ffbb9606f5d9a958a4db24b (patch) | |
tree | 2f702c07148f4223165ac2d7403a80a87ee14b64 /src/main/java | |
parent | ad0e4b31bf8401d141682ae962f9c823571c5da1 (diff) | |
download | craftbukkit-d7cce99f018b016e8ffbb9606f5d9a958a4db24b.tar craftbukkit-d7cce99f018b016e8ffbb9606f5d9a958a4db24b.tar.gz craftbukkit-d7cce99f018b016e8ffbb9606f5d9a958a4db24b.tar.lz craftbukkit-d7cce99f018b016e8ffbb9606f5d9a958a4db24b.tar.xz craftbukkit-d7cce99f018b016e8ffbb9606f5d9a958a4db24b.zip |
Fix possible leaks in vanish API
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index ab638ba7..7c616c17 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -911,7 +911,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (hiddenPlayers.contains(player.getUniqueId())) return; hiddenPlayers.add(player.getUniqueId()); - //remove this player from the hidden player's EntityTrackerEntry + // Remove this player from the hidden player's EntityTrackerEntry EntityTracker tracker = ((WorldServer) entity.world).tracker; EntityPlayer other = ((CraftPlayer) player).getHandle(); EntityTrackerEntry entry = (EntityTrackerEntry) tracker.trackedEntities.get(other.getId()); @@ -919,8 +919,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { entry.clear(getHandle()); } - //remove the hidden player from this player user list - getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, other)); + // Remove the hidden player from this player user list + if (!other.joining) { + getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, other)); + } } @Override |