diff options
author | Matthew Wild <mwild1@gmail.com> | 2009-04-11 22:25:32 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2009-04-11 22:25:32 +0100 |
commit | e9441f6999f144cb1c4ff21dad58cf612257d35c (patch) | |
tree | 27181ea45cba4664355308456dca32bce339214c /core | |
parent | 69787cdf52f151855434853740fb87291759947c (diff) | |
download | prosody-e9441f6999f144cb1c4ff21dad58cf612257d35c.tar.gz prosody-e9441f6999f144cb1c4ff21dad58cf612257d35c.zip |
componentmanager: Restore default component when unregistering
Diffstat (limited to 'core')
-rw-r--r-- | core/componentmanager.lua | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/core/componentmanager.lua b/core/componentmanager.lua index feae96dc..a6b253db 100644 --- a/core/componentmanager.lua +++ b/core/componentmanager.lua @@ -102,13 +102,14 @@ end function deregister_component(host) if components[host] then modulemanager.unload(host, "dialback"); - components[host] = nil; - local host_config = defined_hosts[host]; - if ((host_config.core.enabled == nil or host_config.core.enabled) and type(host_config.core.component_module) == "string") then + local host_config = configmanager.getconfig()[host]; + if host_config and ((host_config.core.enabled == nil or host_config.core.enabled) and type(host_config.core.component_module) == "string") then -- Set default handler + components[host] = default_component_handler; else -- Component not in config, or disabled, remove hosts[host] = nil; + components[host] = nil; end -- remove from disco_items if not(host:find("@", 1, true) or host:find("/", 1, true)) and host:find(".", 1, true) then |