From 5c1278fb727b6ce2d3bc051b6808c952be05af5a Mon Sep 17 00:00:00 2001 From: Bixilon Date: Thu, 11 Feb 2021 19:28:32 +0100 Subject: [PATCH] fix ConcurrentModificationException in Connection::fireEvent --- .../java/de/bixilon/minosoft/protocol/network/Connection.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/bixilon/minosoft/protocol/network/Connection.java b/src/main/java/de/bixilon/minosoft/protocol/network/Connection.java index 8c61de7ea..f357d628e 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/network/Connection.java +++ b/src/main/java/de/bixilon/minosoft/protocol/network/Connection.java @@ -193,7 +193,9 @@ public class Connection { */ public boolean fireEvent(ConnectionEvent connectionEvent) { Minosoft.EVENT_MANAGERS.forEach((eventManager -> eventManager.getGlobalEventListeners().forEach((method) -> method.invoke(connectionEvent)))); - this.eventListeners.forEach((method -> method.invoke(connectionEvent))); + synchronized (this.eventListeners) { + this.eventListeners.forEach((method -> method.invoke(connectionEvent))); + } if (connectionEvent instanceof CancelableEvent cancelableEvent) { return cancelableEvent.isCancelled(); }