Auctionator

Auctionator

136M Downloads

[ADDON_ACTION_BLOCKED] AddOn 'Auctionator' tried to call the protected function 'CompactRaidFrame1:Show()'

Ookami313 opened this issue ยท 13 comments

commented

Running current 9.2.8 version. Ran a character through the Selpucher raid (LFR if that helps any) and during combat with the Prototype Pantheon this error popped and kept occurring through out the whole fight. It only seems to happen with that one boss, the other six bosses for sections one and two show no issue. Thanks.

1x [ADDON_ACTION_BLOCKED] AddOn 'Auctionator' tried to call the protected function 'CompactRaidFrame1:Show()'.
[string "@!BugGrabber\BugGrabber.lua"]:519: in function <!BugGrabber\BugGrabber.lua:519>
[string "=[C]"]: in function Show' [string "@FrameXML\CompactUnitFrame.lua"]:378: in function CompactUnitFrame_UpdateVisible'
[string "@FrameXML\CompactUnitFrame.lua"]:309: in function `CompactUnitFrame_UpdateAll'
[string "@FrameXML\CompactUnitFrame.lua"]:48: in function <FrameXML\CompactUnitFrame.lua:45>

187x FrameXML\CompactUnitFrame.lua:1122: Attempt to access forbidden object from code tainted by an AddOn
[string "=[C]"]: in function Hide' [string "@FrameXML\CompactUnitFrame.lua"]:1122: in function CompactUnitFrame_UpdateClassificationIndicator'
[string "@FrameXML\CompactUnitFrame.lua"]:1380: in function `CompactUnitFrame_UpdateAuras'
[string "@FrameXML\CompactUnitFrame.lua"]:96: in function <FrameXML\CompactUnitFrame.lua:45>

Locals:
Skipped (In Encounter)

commented

For what it's worth (not much I know) I ran prototype pantheon with 9.2.8 and didn't get this problem.

I wonder if it's related to the second HideDropDownMenu(1) [Edit: and Toggle] in CustomiseColumnsDropDown,

In any case, I see you have gone down a different path. I hope (sincerely) that it works better for you than it ever did for me.

All this is exactly as frustrating, hard to understand, and annoying as all Blizzard's awful UIDropDown taint issues have been over the years.

commented

Sorry about that. A fix that was meant to resolve this issue didn't. I've pushed a different fix to Curseforge which should be available in a few minutes, or available here
Auctionator-9.2.9.zip

Let me know if it works, or if you experience a differerent error.

commented

Hopefully this version works. Weirdly initialising the dropdown in an OnShow instead of OnLoad for the config panels avoids the issue with friendly nameplates from #1136. It is really annoying.

On the Discord there's another report that's similar, and testing determined that something changed in 9.2.6 to trigger the bug (running a dungeon with 9.2.5 didn't trigger it, and repeating with 9.2.6 did):
image

If this doesn't work I'll review using a dropdown library again, but ๐Ÿคž

commented

Yeah it is very hard for me to understand how the library could cause any error, given it's completely isolated from Blizzard's code. But sometimes you have to go with what works. ๐Ÿคž

commented

I think I will keep running 9.2.8 + minor fix for a while, see if I can show up an error.

commented

Ugh! :(

commented

Looking at the LibUIDropDownMenu code I'm not actually sure lib:CloseDropDownMenus(1) is safe!!!!!

function lib:CloseDropDownMenus(level)
        if ( not level ) then
                level = 1;
        end
        for i=level, L_UIDROPDOWNMENU_MAXLEVELS do
                _G["L_DropDownList"..i]:Hide();
        end
        -- yes, we also want to close the menus which created by built-in UIDropDownMenus
        for i=level, UIDROPDOWNMENU_MAXLEVELS do
                _G["DropDownList"..i]:Hide();
        end
end

lib:HideDropDownMenu(1) looks a lot safer.

commented

That would certainly taint in the same way that the Blizzard HideDropDownMenu would

commented

I'm going to leave a fixed version in a branch https://github.com/Auctionator/Auctionator/tree/libraryDropdowns - but at least we now have an explanation as to why it tainted.

commented

I'm not sure if you saw my other comment but there's also a ToggleDropDownMenu and HideDropDownMenu in CustomiseColumnsDropDown that you missed with the earlier fix (this was mentioned by someone in the Discord too and you replied that you didn't have time to look at it).

[ Edit: I mean, in case you want to fix it in the branch before I forget to keep mentioning it. ]

commented

It is in the branch. Yeah, that might have done it too.

commented

The thing I didn't have time for is now fixed, pending a wider release.

Might not get any bug reports until the weekend for the dropdown taint issues, but hopefully if it is broken I'll know by the end of today.

commented

This issue should be fixed in the latest version of Auctionator. Closing (as always if it isn't comment and I'll reopen)