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
public UPlayer detachId(Object oid)
{
UPlayer ret = super.detachId(oid);
UPlayer ret = this.get(oid);
if (ret == null) return null;
// If inited ...
if (!this.inited()) return ret;
if (this.inited())
{
// ... update the index.
Faction faction = ret.getFaction();
faction.uplayers.remove(ret);
}
// ... update the index.
Faction faction = ret.getFaction();
faction.uplayers.remove(ret);
super.detachId(oid);
return ret;
}

View File

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