bug: Taint after LFGList quick access to open panel to create group
c3aus3scu opened this issue ยท 7 comments
Did you check these before submitting?
- I have updated
ElvUIto the latest version before submitting this issue - I have updated
ElvUI_WindToolsto the latest version before submitting this issue - I have tested the issue with
/wtdebug onbefore
ElvUI Version
13.97
ElvUI_WindTools Version
3.99-9
Describe the bug
3x [ADDON_ACTION_BLOCKED] AddOn 'ElvUI' tried to call the protected function 'SetEntryTitle()'.
[Blizzard_GroupFinder/Mainline/LFGList.lua]:681: in function <...aceBlizzard_GroupFinder/Mainline/LFGList.lua:669>
Locals:
self = Button {
Right = Texture {
}
Left = Texture {
}
Middle = Texture {
}
template = "Default"
TopLeftCorner = Texture {
}
windAnimation =
}
backdropInfo =
}
glossTex = true
__windAnimGroup =
}
__windAnimTex = Texture {
}
IsSkinned = true
PixelSnapDisabled = true
Center = Texture {
}
RightEdge = Texture {
}
fitTextCanWidthDecrease = true
BottomEdge = Texture {
}
TopEdge = Texture {
}
BottomRightCorner = Texture {
}
BottomLeftCorner = Texture {
}
TopRightCorner = Texture {
}
Text = LFGListFrameText {
}
windWidgetSkinned = true
fitTextWidthPadding = 40
LeftEdge = Texture {
}
}
panel = Frame {
CategoryButtons =
}
FindGroupButton = Button {
}
Label = FontString {
}
selectedFilters = 0
StartGroupButton = Button {
}
selectedCategory = 2
Inset = Frame {
}
}
baseFilters = 4
entryCreation = Frame {
MythicPlusRating = Frame {
}
CrossFactionGroup = Frame {
}
Label = FontString {
}
baseFilters = 4
PrivateGroup = Frame {
}
VoiceChat = Frame {
}
selectedFilters = 0
WorkingCover = Frame {
}
CancelButton = Button {
}
selectedCategory = 2
editMode = false
Inset = Frame {
}
selectedPlaystyle = 1
selectedActivity = 1017
GroupDropdown = LFGListEntryCreationGroupDropdown {
}
ItemLevel = Frame {
}
DescriptionLabel = FontString {
}
Description = LFGListCreationDescription {
}
PlayStyleDropdown = LFGListEntryCreationPlayStyleDropdown {
}
NameLabel = FontString {
}
ActivityFinder = Frame {
}
PlayStyleLabel = FontString {
}
selectedGroup = 281
PVPRating = Frame {
}
LeaverBadge = Frame {
}
ListGroupButton = Button {
}
PvpItemLevel = Frame {
}
ActivityDropdown = LFGListEntryCreationActivityDropdown {
}
Name = EditBox {
}
}
Steps To Reproduce
When I create a LFR Dungeon Party or open LFR Dungeon
Expected Behavior
No error
I trigger it when I use windtools.
The possible reason is the skin for the search button.
remove the handling in d3b29f8
It seems only taint when enter the panel with quick access and then create the group
fixed in 25d334f
It happened in /wtdebug on? and I don't think the bug is from WindTools based on your log
Use another solution in 7dbdb2b
For people who want to understand this taint
Issue
Setting the following global variables triggers UI taint:
_G.LFGListFrame.CategorySelection.selectedCategory_G.LFGListFrame.CategorySelection.selectedFilters
The C_LFGList system uses these variables to generate titles and automatically populate input fields. Direct manipulation of these variables causes ownership conflicts leading to taint.
Solution
Added a hook on BackButton that clears both variables to nil. It will force user to manually select the button in the selection panel. The operation is a physical input, such that the taint will not occurred anymore