diff --git a/src/com/massivecraft/factions/FPlayers.java b/src/com/massivecraft/factions/FPlayers.java index eb0f8db8..08952141 100644 --- a/src/com/massivecraft/factions/FPlayers.java +++ b/src/com/massivecraft/factions/FPlayers.java @@ -62,16 +62,15 @@ public class FPlayers extends PlayerEntityCollection { if (now - fplayer.getLastLoginTime() > toleranceMillis) { - // TODO: This stops the memory leak crashes but does not solve the issue: MEMBERS ARE NOT KICKED!!! - // TODO: DO SOMETHING ABOUT THIS - /*if (Conf.logFactionLeave || Conf.logFactionKick) - P.p.log("Player "+fplayer.getName()+" was auto-removed due to inactivity.");*/ + if (Conf.logFactionLeave || Conf.logFactionKick) + P.p.log("Player "+fplayer.getName()+" was auto-removed due to inactivity."); // if player is faction leader, sort out the faction since he's going away if (fplayer.getRole() == Rel.LEADER) fplayer.getFaction().promoteNewLeader(); fplayer.leave(false); + fplayer.detach(); } } } diff --git a/src/com/massivecraft/factions/listeners/FactionsPlayerListener.java b/src/com/massivecraft/factions/listeners/FactionsPlayerListener.java index ebd1dcc1..0c223a43 100644 --- a/src/com/massivecraft/factions/listeners/FactionsPlayerListener.java +++ b/src/com/massivecraft/factions/listeners/FactionsPlayerListener.java @@ -420,6 +420,7 @@ public class FactionsPlayerListener extends PlayerListener if (badGuy.getRole() == Rel.LEADER) badGuy.getFaction().promoteNewLeader(); badGuy.leave(false); + badGuy.detach(); } } }