From 5918b04b48f6266978b03acd72c41e8115c23428 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Sat, 13 Oct 2018 11:17:16 +0800 Subject: [PATCH] Prevent from calling register and fireEvent at the same time --- .../src/main/java/org/jackhuang/hmcl/event/EventManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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);