From f742f936091ba45358a3a73d73b24d911f1d2987 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Thu, 10 Dec 2009 03:02:04 +0500 Subject: modulemanager: Fire item-removed events on module unload. --- core/modulemanager.lua | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'core') diff --git a/core/modulemanager.lua b/core/modulemanager.lua index 7ee262c4..032cab84 100644 --- a/core/modulemanager.lua +++ b/core/modulemanager.lua @@ -200,6 +200,15 @@ function unload(host, name, ...) 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; hosts[host].events.fire_event("module-unloaded", { module = name, host = host }); return true; -- cgit v1.2.3