Fix ConcurrentModification in party stats overlay
Fix concurrent modification exception in party stats overlay when iterating map. Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -119,7 +119,7 @@ public class PartyPlugin extends Plugin implements KeyListener
|
|||||||
private ChatMessageManager chatMessageManager;
|
private ChatMessageManager chatMessageManager;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final Map<UUID, PartyData> partyDataMap = new HashMap<>();
|
private final Map<UUID, PartyData> partyDataMap = Collections.synchronizedMap(new HashMap<>());
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final List<PartyTilePingData> pendingTilePings = Collections.synchronizedList(new ArrayList<>());
|
private final List<PartyTilePingData> pendingTilePings = Collections.synchronizedList(new ArrayList<>());
|
||||||
|
|||||||
@@ -80,6 +80,8 @@ public class PartyStatsOverlay extends Overlay
|
|||||||
|
|
||||||
boolean only1 = plugin.getPartyDataMap().size() == 1;
|
boolean only1 = plugin.getPartyDataMap().size() == 1;
|
||||||
|
|
||||||
|
synchronized (plugin.getPartyDataMap())
|
||||||
|
{
|
||||||
partyDataMap.forEach((k, v) ->
|
partyDataMap.forEach((k, v) ->
|
||||||
{
|
{
|
||||||
if (party.getLocalMember() != null && party.getLocalMember().getMemberId().equals(k))
|
if (party.getLocalMember() != null && party.getLocalMember().getMemberId().equals(k))
|
||||||
@@ -128,6 +130,7 @@ public class PartyStatsOverlay extends Overlay
|
|||||||
|
|
||||||
body.getChildren().add(panel);
|
body.getChildren().add(panel);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return body.render(graphics);
|
return body.render(graphics);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user