EventListener* EventTarget::getAttributeEventListener(const AtomicString& eventType) { for (auto& eventListener : getEventListeners(eventType)) { if (eventListener.listener->isAttribute()) return eventListener.listener.get(); } return 0; }
EventListener* EventTarget::getAttributeEventListener(const AtomicString& eventType) { const EventListenerVector& entry = getEventListeners(eventType); for (const auto& eventListener : entry) { EventListener* listener = eventListener.listener.get(); if (listener->isAttribute() && listener->belongsToTheCurrentWorld()) return listener; } return 0; }
void PluginManager::registerEvent(EventType type, Listener *listener, std::function<void(Listener *, Event &)> func, Plugin *plugin, EventPriority priority, bool ignoreCancelled) { if(!plugin->isEnabled()) return; auto executor = [func](Listener *listener, Event &event) { func(listener, event); }; HandlerList *handlerList = getEventListeners(type); if(handlerList) handlerList->registerListener(new RegisteredListener(listener, executor, priority, plugin, ignoreCancelled)); }