diff options
author | tth05 <36999320+tth05@users.noreply.github.com> | 2023-10-15 21:53:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-15 19:53:27 +0000 |
commit | 8ce67c167c8f5938b0fed79b1d9727663d9cd9bc (patch) | |
tree | 6e5f1c41c40e748d6c4b1a6ae792f9ec39aca9bd /src/main/java/gregtech/api/util/GT_CoverBehavior.java | |
parent | 7a885d78f2d10ee1c7c00ac865bfa6abb0c71500 (diff) | |
download | GT5-Unofficial-8ce67c167c8f5938b0fed79b1d9727663d9cd9bc.tar.gz GT5-Unofficial-8ce67c167c8f5938b0fed79b1d9727663d9cd9bc.tar.bz2 GT5-Unofficial-8ce67c167c8f5938b0fed79b1d9727663d9cd9bc.zip |
Fix memory leak of player instances in CoverBehavior (#2333)
* Use weak references to store last player in cover behavior
* Remove duplicate lastPlayer field from GT_CoverBehavior
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_CoverBehavior.java')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_CoverBehavior.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/gregtech/api/util/GT_CoverBehavior.java b/src/main/java/gregtech/api/util/GT_CoverBehavior.java index 2f93d8faf3..34fc151b9a 100644 --- a/src/main/java/gregtech/api/util/GT_CoverBehavior.java +++ b/src/main/java/gregtech/api/util/GT_CoverBehavior.java @@ -2,6 +2,8 @@ package gregtech.api.util; import static gregtech.api.enums.GT_Values.E; +import java.lang.ref.WeakReference; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -20,7 +22,6 @@ import gregtech.api.net.GT_Packet_TileEntityCoverGUI; */ public abstract class GT_CoverBehavior extends GT_CoverBehaviorBase<ISerializableObject.LegacyCoverData> { - public EntityPlayer lastPlayer = null; public boolean mPlayerNotified = false; public GT_CoverBehavior() { @@ -241,7 +242,7 @@ public abstract class GT_CoverBehavior extends GT_CoverBehaviorBase<ISerializabl public boolean onCoverShiftRightclick(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer) { if (hasCoverGUI() && aPlayer instanceof EntityPlayerMP) { - lastPlayer = aPlayer; + lastPlayer = new WeakReference<>(aPlayer); mPlayerNotified = false; if (useModularUI()) { GT_UIInfos.openCoverUI(aTileEntity, aPlayer, side); |