Merge pull request #7655 from deathbeam/fix-party-exceptions

Fix party exceptions (NPE in PartyPlugin and ConcurrentModification in PartyStatsOverlay)
This commit is contained in:
Tomas Slusny
2019-02-02 18:51:57 +00:00
committed by GitHub
2 changed files with 45 additions and 40 deletions

View File

@@ -119,7 +119,7 @@ public class PartyPlugin extends Plugin implements KeyListener
private ChatMessageManager chatMessageManager;
@Getter
private final Map<UUID, PartyData> partyDataMap = new HashMap<>();
private final Map<UUID, PartyData> partyDataMap = Collections.synchronizedMap(new HashMap<>());
@Getter
private final List<PartyTilePingData> pendingTilePings = Collections.synchronizedList(new ArrayList<>());
@@ -354,7 +354,9 @@ public class PartyPlugin extends Plugin implements KeyListener
.runeLiteFormattedMessage(joinMessage)
.build());
if (partyData.getMemberId().equals(party.getLocalMember().getMemberId()))
final PartyMember localMember = party.getLocalMember();
if (localMember != null && partyData.getMemberId().equals(localMember.getMemberId()))
{
final String helpMessage = new ChatMessageBuilder()
.append(ChatColorType.HIGHLIGHT)

View File

@@ -80,6 +80,8 @@ public class PartyStatsOverlay extends Overlay
boolean only1 = plugin.getPartyDataMap().size() == 1;
synchronized (plugin.getPartyDataMap())
{
partyDataMap.forEach((k, v) ->
{
if (party.getLocalMember() != null && party.getLocalMember().getMemberId().equals(k))
@@ -128,6 +130,7 @@ public class PartyStatsOverlay extends Overlay
body.getChildren().add(panel);
});
}
return body.render(graphics);
}