Fix rare ConcurrentModificationException in quit handler

Copies the list of viewers before iterating over it to fix a rare CME that is *sometimes* thrown. It's not clear *why* this broke - Spigot seems to have changed behaviour in late 1.15 or 1.16?
This commit is contained in:
md678685 2020-07-30 14:22:34 +01:00
parent 11cd57e8fb
commit ab545dc44c
1 changed files with 2 additions and 1 deletions

View File

@ -212,7 +212,8 @@ public class EssentialsPlayerListener implements Listener {
user.getBase().getOpenInventory().getTopInventory().clear();
}
for (HumanEntity viewer : user.getBase().getInventory().getViewers()) {
ArrayList<HumanEntity> viewers = new ArrayList<>(user.getBase().getInventory().getViewers());
for (HumanEntity viewer : viewers) {
if (viewer instanceof Player) {
User uviewer = ess.getUser((Player) viewer);
if (uviewer.isInvSee()) {