Bartender4

1100 - WoW 5.4.1 Taint

It's me again. While testing my addon (which depends on BT4) on the 5.4.1 PTR I received the following taint error when starting a PetBattle or showing the Vehicle UI:

     Error: AddOn attempted to call a forbidden function (IsDisabledByParentalControls()) from a tainted execution path.
     Stack: [C]: in function `IsDisabledByParentalControls'
                 Interface\\FrameXML\\MainMenuBarMicroButtons.lua:229 in function <Interface\\FrameXML\\MainMenuBarMicroButtons.lua:76
                 [C]: in function `UpdateMicroButtons'
                 Interface\\FrameXML\\MainMenuBarMicroButtons.lua:73 in function `MoveMicroButtons'
                 [string \"*:OnShow\"]:2: in function <[string \"*:OnShow\"]:1> (tail call): ?
                 [C]: in function `Show'
                 ...AddOns\\Blizzard_PetBattleUI\\Blizzard_PetBattleUI.lua:147 in function <...AddOns\\Blizzard_PetBattleUI\\Blizzard_PetBattleUI.lua:145
                 [C]: in function `PetBattleFrame_Display'
                 ...AddOns\\Blizzard_PetBattleUI\\Blizzard_PetBattleUI.lua:95 in function <...AddOns\\Blizzard_PetBattleUI\\Blizzard_PetBattleUI.lua:92

In an effort to help out I modified MicroMenu.lua to correct this problem and attached the file for your review. Basically I had to go back to using a secure hook for the OnShow and OnHide scripts because Blizzard added a call to IsDisabledByParentalControls in their UpdateMicroButtons function.

Name Size MD5
MicroMenu.lua 4.1 KiB 0fd48b836125...
User When Change
Nevcairiel Oct 30, 2013 at 14:54 UTC Changed status from Accepted to Fixed
Nevcairiel Oct 29, 2013 at 12:02 UTC Changed status from New to Accepted
esiemiat Oct 16, 2013 at 01:39 UTC

Added attachment MicroMenu.lua

esiemiat Oct 16, 2013 at 01:37 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • 5 comments
  • Avatar of Nevcairiel Nevcairiel Oct 30, 2013 at 07:13 UTC - 0 likes

    Mapster should already be fixed.

    I'll look at the button placing later on the live client then. At least it shouldn't cause taint issues anymore right now.

  • Avatar of Everdreamer Everdreamer Oct 30, 2013 at 00:00 UTC - 0 likes

    @Nevcairiel

    Found the same issue in Mapster, in case you haven't turned attention to it.

  • Avatar of esiemiat esiemiat Oct 29, 2013 at 23:17 UTC - 0 likes

    Without those lines the MicroMenuBar will be messed up during a PetBattle or when the VehicleUI is shown.

    Basically Blizzard places buttons 1 and 6 (CharacterMicroButton and PVPMicroButton) into a stacked row configuration in the MoveMicroButtons function, which is called when those UI elements are shown. Since we are now calling our function using a post-hook we cannot set those 2 buttons back to the positions they were in when the UI loaded and need to leave them where Blizzard placed them.

  • Avatar of Nevcairiel Nevcairiel Oct 29, 2013 at 21:05 UTC - 0 likes

    The Secure Hooks make sense, I'm not sure what the other change in the file is about though?

  • Avatar of esiemiat esiemiat Oct 16, 2013 at 01:48 UTC - 0 likes

    I should also mention that these changes are compatible with v5.4.0 and can be implemented at any time.

  • 5 comments

Facts

Last updated
Oct 30, 2013
Reported
Oct 16, 2013
Status
Fixed - Developer made requested changes. QA should verify.
Type
Defect - A shortcoming, fault, or imperfection
Priority
Medium - Normal priority.
Votes
0

Reported by

Possible assignees