Hello.
I use a custom class colour table in my UI to avoid overwriting RAID_CLASS_COLORS and causing taint, thanks to a tip from p3lim. However, to get these new colours on player names in the chat frame, the most common method seems to be to simply overwrite the function GetColoredName. This causes taint when someone enters a party or raid while the player is in combat, though, so I'm wondering if there's a better way to do it (tried using hooksecurefunc, doesn't work).
Also, I'm getting a taint error from oUF every time someone joins a party or raid while the player is in combat, and the specific oUF party/raid frame for that player won't spawn properly. I'm just wondering if anyone else is getting this, before I report it as a bug on Haste's github, unless it's a Blizzard error.
Edit: taint log for chat problem:
Code:
11/18 18:54:40.961 Global variable GetColoredName tainted by !FreeUI - Interface\AddOns\!FreeUI\scripts\chat.lua:257
11/18 18:54:40.961 Execution tainted by !FreeUI while reading GetColoredName - Interface\FrameXML\ChatFrame.lua:2744 ChatFrame_MessageEventHandler()
11/18 18:54:40.961 Interface\FrameXML\ChatFrame.lua:2550 ChatFrame_OnEvent()
11/18 18:54:40.961 ChatFrame1:OnEvent()
oUF:
Code:
11/18 17:04:57.064 An action was blocked in combat because of taint from !FreeUI - oUF_FreePartyRaidUnitButton3:SetSize()
11/18 17:04:57.064 Interface\AddOns\!FreeUI\scripts\unitframes.lua:903 styleFunc()
11/18 17:04:57.064 Interface\AddOns\!FreeUI\oUF\ouf.lua:418
11/18 17:04:57.064 Interface\FrameXML\RestrictedFrames.lua:721
11/18 17:04:57.064 securecall()
11/18 17:04:57.064 Interface\FrameXML\RestrictedFrames.lua:740 CallMethod()
11/18 17:04:57.064 local header = self:GetParent()
local frames = table.new()
table.insert(frames, self)
self:GetChildList(frames)
for i=1, #frames do
local frame = frames[i]
local unit
-- There's no need to do anything on frames with onlyProcessChildren
if(not frame:GetAttribute'oUF-onlyProcessChildren') then
RegisterUnitWatch(frame)
-- Attempt to guess what the header is set to spawn.
if(header:GetAttribute'showRaid') then
unit = 'raid'
elseif(header:GetAttribute'showParty') then
unit = 'party'
end
local headerType = header:GetAttribute'oUF-headerType'
local suffix = frame:GetAttribute'unitsuffix'
if(unit and suffix) then
if(headerType == 'pet' and suffix == 'target') then
unit = unit .. headerType .. suffix
else
unit = unit .. suffix
end
elseif(unit and headerType == 'pet') then
unit = unit .. headerType
end
frame:SetAttribute('*type1', 'target')
frame:SetAttribute('*type2', 'menu')
frame:SetAttribute('togg
11/18 17:04:57.064 pcall()
11/18 17:04:57.064 Interface\FrameXML\RestrictedExecution.lua:441 CallRestrictedClosure()
11/18 17:04:57.064 Interface\FrameXML\SecureGroupHeaders.lua:108 SetupUnitButtonConfiguration()
11/18 17:04:57.064 Interface\FrameXML\SecureGroupHeaders.lua:158 configureChildren()
11/18 17:04:57.064 Interface\FrameXML\SecureGroupHeaders.lua:458 SecureGroupHeader_Update()
11/18 17:04:57.064 Interface\FrameXML\SecureGroupHeaders.lua:48