From c1053b9217b3711cad81eb8f24cb20d71b75d82e Mon Sep 17 00:00:00 2001 From: PProvost-35627 Date: Sat, 4 Apr 2009 23:17:35 +0000 Subject: [PATCH] Fixed an error caused by custom Data Objects --- NinjaPanel.lua | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/NinjaPanel.lua b/NinjaPanel.lua index 2086950..75e83b0 100644 --- a/NinjaPanel.lua +++ b/NinjaPanel.lua @@ -197,28 +197,31 @@ function NinjaPanel:PluginIsDisabled(name) end end +function NinjaPanel:StoreName(name) + if not self.pluginNames[name] then + self.pluginNames[name] = true + table.insert(self.pluginNames, name) + end +end + function NinjaPanel:ScanForPlugins() self.warned = self.warned or {} for name,dataobj in ldb:DataObjectIterator() do - -- Make sure we add it to the full list of plugin names - if not self.pluginNames[name] then - self.pluginNames[name] = true - table.insert(self.pluginNames, name) - end - - -- Create any plugins that aren't disabled - if not self:HasPlugin(name) and not self:PluginIsDisabled(name) then - if dataobj.type == "data source" or dataobj.text then - self:SpawnPlugin(name, dataobj, "data source") - elseif dataobj.type == "launcher" or (dataobj.icon and dataobj.OnClick) then - self:SpawnPlugin(name, dataobj, "launcher") - elseif not self.warned[name] then - print("Skipping unknown broker object for " .. name .. "(" .. tostring(dataobj.type) .. ")") - self.warned[name] = true + -- Create any plugins that aren't disabled + if not self:HasPlugin(name) and not self:PluginIsDisabled(name) then + if dataobj.type == "data source" or dataobj.text then + self:StoreName(name) + self:SpawnPlugin(name, dataobj, "data source") + elseif dataobj.type == "launcher" or (dataobj.icon and dataobj.OnClick) then + self:StoreName(name) + self:SpawnPlugin(name, dataobj, "launcher") + elseif not self.warned[name] then + print("Skipping unknown broker object for " .. name .. "(" .. tostring(dataobj.type) .. ")") + self.warned[name] = true + end end end - end self:UpdatePanels() end -- 1.7.9.5