Change order in UPlayer.detachId to avoid NPE.

This commit is contained in:
Olof Larsson 2013-04-25 10:27:39 +02:00
parent 09a23353a7
commit 0ed104279f
2 changed files with 10 additions and 6 deletions

View File

@ -42,15 +42,18 @@ public class UPlayerColl extends SenderColl<UPlayer>
@Override @Override
public UPlayer detachId(Object oid) public UPlayer detachId(Object oid)
{ {
UPlayer ret = super.detachId(oid); UPlayer ret = this.get(oid);
if (ret == null) return null; if (ret == null) return null;
// If inited ... // If inited ...
if (!this.inited()) return ret; if (this.inited())
{
// ... update the index.
Faction faction = ret.getFaction();
faction.uplayers.remove(ret);
}
// ... update the index. super.detachId(oid);
Faction faction = ret.getFaction();
faction.uplayers.remove(ret);
return ret; return ret;
} }

View File

@ -138,6 +138,7 @@ public class FactionsListenerEcon implements Listener
} }
else if (event.getReason() == MembershipChangeReason.LEAVE) else if (event.getReason() == MembershipChangeReason.LEAVE)
{ {
// TODO: NPE once occurred on line below.
cost = UConf.get(event.getSender()).econCostLeave; cost = UConf.get(event.getSender()).econCostLeave;
desc = "leave a faction"; desc = "leave a faction";
} }