# HG changeset patch # User Waqas Hussain # Date 1260396124 -18000 # Node ID fbddc3ed0d09b687a36994c46099ecb2e60d3d6d # Parent b9df83793d84966eeda25197654b23b662c06009 modulemanager: Fire item-removed events on module unload. diff -r b9df83793d84 -r fbddc3ed0d09 core/modulemanager.lua --- a/core/modulemanager.lua Thu Dec 10 02:50:23 2009 +0500 +++ b/core/modulemanager.lua Thu Dec 10 03:02:04 2009 +0500 @@ -197,6 +197,15 @@ end end hooks:remove(host, name); + if mod.module.items then -- remove items + for key,t in pairs(mod.module.items) do + for i = #t,1,-1 do + local value = t[i]; + t[i] = nil; + hosts[host].events.fire_event("item-removed/"..key, {source = self, item = value}); + end + end + end modulemap[host][name] = nil; return true; end