View Single Post
11-25-19, 08:48 AM   #1
bsmorgan
A Cobalt Mageweaver
AddOn Author - Click to view addons
Join Date: Mar 2005
Posts: 219
Strange addon blocked from an action error

I am the maintainer/author of Skillet and I have a strange error that I can't figure out. If I open and close professions with Spellbook buttons or action bar buttons everything works as expected.

However, The Skillet frame contains its own set of profession buttons. If I use those profession buttons to change professions the changing to Engineering, Jewelcrafting, Leatherworking, and Inscription causes a popup:

"Skillet has been blocked from an action only
available to the Blizzard UI.
You can disable this addon and reload the UI."

Using the Skillet frame profession buttons to switch from those professions to (or between) Cooking, Mining/Smelting works and Blacksmithing, Alchemy, and Enchanting all work without error.

The taint.log when it fails contains:

11/25 06:55:43.823 An action was blocked because of taint from Skillet - CastSpellByName()
11/25 06:55:43.823 Interface\AddOns\Skillet\Skillet.lua:1091 ChangeTradeSkill()
11/25 06:55:43.823 Interface\AddOns\Skillet\Skillet.lua:1143 SetTradeSkill()
11/25 06:55:43.823 Interface\AddOns\Skillet\UI\MainFrame.lua:599 TradeButton_OnClick()
11/25 06:55:43.823 SkilletFrameTradeButton-Amarik-25229:OnClick()

Now for the strange part. If I am in Boralus and take a port to Stormwind, all the above tradeskills now switch without error. If I port back to Boralus, they continue to switch without error.

The Skillet released (versions 4.10 back to 4.07) codebase has been stable since December 2018. The only changes have been to the .toc and expansion of a table of enchanting scrolls.

In my attempts to understand this issue, I have disabled all addons except Skillet, ViragDevTool (updated), Buggrabber, and Bugsack. The complete taint.log with the failure is at https://pastebin.com/3vYf6vC3. Another taint.log with a successful change is at https://pastebin.com/6rRQu8up.

Since the taint.log contains lots of:

11/25 07:05:04.715 Global variable UIDROPDOWNMENU_MENU_LEVEL tainted by Skillet - Interface\FrameXML\UIDropDownMenu.lua:37

I tried replacing all the DropDown calls with calls to !NoTaint_UIDropDownMenu-v7.2.0.24015-r3.zip but that didn't change the symptoms.

It appears that Blizzard's changes in 8.2 and 8.2.5 have made things worse. I'd be happy to fix Skillet if I could figure out what to fix! Anyone have any suggestions?
  Reply With Quote