ElvUI WindTools

ElvUI WindTools

5M Downloads

bug: Taint after LFGList quick access to open panel to create group

c3aus3scu opened this issue ยท 7 comments

commented

Did you check these before submitting?

  • I have updated ElvUI to the latest version before submitting this issue
  • I have updated ElvUI_WindTools to the latest version before submitting this issue
  • I have tested the issue with /wtdebug on before

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

commented

I trigger it when I use windtools.
The possible reason is the skin for the search button.
remove the handling in d3b29f8

commented

also triggered after the removing.

commented

It seems only taint when enter the panel with quick access and then create the group

commented

fixed in 25d334f

commented

It happened in /wtdebug on? and I don't think the bug is from WindTools based on your log

commented

It is not the problem from WindTools.

commented

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