Mercurial > wow > reagentmaker
diff SecureMenu.lua @ 76:9d487333bf10
Block cross-tradeskill in external window
author | contrebasse |
---|---|
date | Sat, 14 May 2011 21:30:56 +0200 |
parents | 3d344a2d8fdf |
children | 996aaa818d04 |
line wrap: on
line diff
--- a/SecureMenu.lua Sat May 14 21:00:38 2011 +0200 +++ b/SecureMenu.lua Sat May 14 21:30:56 2011 +0200 @@ -330,17 +330,27 @@ MenuFrame.superItemID = superItemID -- optional, will be nil if not set -- Loop over the available recipes - MenuFrame.state = true + local noSkipped = true -- check if we have to reload the external frame to get all the data + local existsValidEntries -- check if the menu contains at least one item (cross-tradeskill problem) for _,reagent in ipairs(A.data[itemID]) do if reagent.macro then -- Special spell - MenuFrame.state = menuAddItem(reagent.macro,itemID,reagent) and MenuFrame.state + existsValidEntries = true + noSkipped = menuAddItem(reagent.macro,itemID,reagent) and noSkipped else - -- Standard tradeskill spell UNTESTED - MenuFrame.state = menuAddItem(A.craft,itemID,reagent) and MenuFrame.state + -- Standard tradeskill spell + if reagent.spellID == A.currentTradeSkill then + existsValidEntries = true + noSkipped = menuAddItem(A.craft,itemID,reagent) and noSkipped + end end -- if end -- for + -- do not show an empty menu + if not existsValidEntries then + return false + end + MenuFrame:SetHeight(89 + numActiveEntries*(MENU_ENTRY_HEIGHT+2)) MenuFrame:ClearAllPoints() @@ -351,7 +361,7 @@ MenuFrame:Show() - if not MenuFrame.state then + if not noSkipped then MenuFrame:SetScript("OnUpdate",reopen) end end