Software /
code /
prosody
Diff
core/componentmanager.lua @ 1851:0a4d4ba01db8
componentmanager: Preserve existing events table (if any) when registering a component
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 30 Sep 2009 11:05:01 +0100 |
parent | 1850:8f1871c1d456 |
child | 1853:5da0e3b1f847 |
line wrap: on
line diff
--- a/core/componentmanager.lua Wed Sep 30 11:03:11 2009 +0100 +++ b/core/componentmanager.lua Wed Sep 30 11:05:01 2009 +0100 @@ -83,9 +83,9 @@ end end -function create_component(host, component) +function create_component(host, component, events) -- TODO check for host well-formedness - return { type = "component", host = host, connected = true, s2sout = {}, events = events_new() }; + return { type = "component", host = host, connected = true, s2sout = {}, events = events or events_new() }; end function register_component(host, component, session) @@ -93,7 +93,7 @@ local old_events = hosts[host] and hosts[host].events; components[host] = component; - hosts[host] = session or create_component(host, component); + hosts[host] = session or create_component(host, component, old_events); -- Add events object if not already one if not hosts[host].events then