diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/EventManager.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/event/EventManager.java index 2bb4830b5..f28d558c5 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/EventManager.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/event/EventManager.java @@ -47,7 +47,7 @@ public final class EventManager { register(consumer, EventPriority.NORMAL); } - public void register(Consumer consumer, EventPriority priority) { + public synchronized void register(Consumer consumer, EventPriority priority) { if (!handlers.get(priority).contains(consumer)) handlers.put(priority, consumer); } @@ -60,7 +60,7 @@ public final class EventManager { register(t -> runnable.run(), priority); } - public Event.Result fireEvent(T event) { + public synchronized Event.Result fireEvent(T event) { for (EventPriority priority : EventPriority.values()) { for (Consumer handler : handlers.get(priority)) handler.accept(event);