More bug fixes

This commit is contained in:
2024-07-10 00:20:57 +02:00
parent 376c1d6f56
commit 6cc8e23e07

View File

@@ -50,20 +50,22 @@ public class EventManager extends DefaultMethodsOverrider {
Object clazz = eventListeners.get(listenerClass); Object clazz = eventListeners.get(listenerClass);
for (Class<? extends Event> eventClass : registeredListener.keySet()) { synchronized (registeredListener) {
HashMap<EventPriority, HashMap<Object, Method>> priorityMap = registeredListener.get(eventClass); for (Class<? extends Event> eventClass : registeredListener.keySet()) {
HashMap<EventPriority, HashMap<Object, Method>> priorityMap = registeredListener.get(eventClass);
if (priorityMap != null) { if (priorityMap != null) {
synchronized (priorityMap) { synchronized (priorityMap) {
for (EventPriority priority : priorityMap.keySet()) { for (EventPriority priority : priorityMap.keySet()) {
HashMap<Object, Method> listeners = priorityMap.get(priority); HashMap<Object, Method> listeners = priorityMap.get(priority);
if (listeners != null) { if (listeners != null) {
listeners.remove(clazz); listeners.remove(clazz);
if (listeners.isEmpty()) priorityMap.remove(priority); if (listeners.isEmpty()) priorityMap.remove(priority);
}
} }
}
if (priorityMap.isEmpty()) registeredListener.remove(eventClass); if (priorityMap.isEmpty()) registeredListener.remove(eventClass);
}
} }
} }
} }