
Blizzard UI Lua error when using the LFGTool
juemrami opened this issue ยท 4 comments
Error 1
Describe the bug
Lua error that occasionally occurs when interacting with either the official ui, or our addon for the Group Finder.
To Reproduce
(not 100% reproducible)
- Tab into or press the refresh button in the
LFGTool
Additional Context
This error seems to also occur even without LFGBulletinBoard installed.
I think it may be happening when you call C_LFGList.Search
close to a LFG_LIST_SEARCH_RESULT_UPDATED
event and blizz tries to update the frame for a now invalid resultID
(meaning C_LFGList.GetSearchResultInfo
for that id is nil
)
Error 2 (FIXED)
Describe the bug
Taint error
To Reproduce
- Interact with an addon generated dropdown that uses the
UIDropDrownMenu
API such as the "Font Size" dropdown in the main addon options panel. - Create/Modify/Join an listing on the blizzard dungeon finder
Error 2
OR, a hotfix, would be using the taintless.xml library and praying it works. https://www.townlong-yak.com/addons/taintless
Unfortunately, this does not seem to work. Even with TaintLess.xml
, the UIDropDownMenu
API taint still occurs and proccs the related ADDON_ACTION_BLOCKED
error
More Context:
The TaintLess.xml
hotfix only clears the checked
and notCheckable
keys from the dropdown buttons, which arent the only key that are accessed by the UIDropDownMenu_Refresh
function in classic era.
Keys like value
are also being accessed and not however being cleaned up by TaintLess, which leads to taint.
Some more context on Error 2;
This is possibly related to the fact that blizz LFG ui in classic is still using the old UIDropDownMenu
api which has a high likelyhood of being tainted by addons which are also still using the old dropdown api (such as this one).
If this is the case a full fix would require completely moving away from the UIDropDownMenu ourselves.
OR, a hotfix, would be using the taintless.xml library and praying it works.
https://www.townlong-yak.com/addons/taintless
Error 2 partly fixed with #345
Error 1
So after testing. It does seem to be the case that blizzard is firing LFG_LIST_SEARCH_RESULT_UPDATED
events for entries that do not exist whilst in the middle of a C_LFGList.Search
query.
In the screenshot you can see when C_LFGList.Search
is fired and when its associated LFG_LIST_SEARCH_RESULT_UPDATED
event is fired, you can also see the 3 results the game tried to update mid search which failed to exists when calling C_LFGList.GetSearchResultInfo
additional