diff options
author | Matthew Wild <mwild1@gmail.com> | 2012-05-19 15:39:16 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2012-05-19 15:39:16 +0100 |
commit | 68907c01f2ccd08936abbfac4386556cf94f66b5 (patch) | |
tree | dd7978afcf9041580e40c87400524713966b1a0a /core/moduleapi.lua | |
parent | 62488ffe3b684f64a863d1515188da42b2058a0f (diff) | |
download | prosody-68907c01f2ccd08936abbfac4386556cf94f66b5.tar.gz prosody-68907c01f2ccd08936abbfac4386556cf94f66b5.zip |
modulemanager, moduleapi: Turn module.event_handlers into a multitable and track object->event->handler associations correctly (thanks Zash)
Diffstat (limited to 'core/moduleapi.lua')
-rw-r--r-- | core/moduleapi.lua | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/core/moduleapi.lua b/core/moduleapi.lua index 96f1d3ea..24d29dfe 100644 --- a/core/moduleapi.lua +++ b/core/moduleapi.lua @@ -70,12 +70,7 @@ function api:fire_event(...) end function api:hook_object_event(object, event, handler, priority) - local handlers = self.event_handlers[event]; - if not handlers then - handlers = {}; - self.event_handlers[event] = handlers; - end - handlers[event] = { handler = handler, priority = priority, object = object }; + self.event_handlers:set(object, event, handler, true); return object.add_handler(event, handler, priority); end |