I don't see anything obviously tainting in that code, but based on your taint log, that's not
all of your code.
However, that's not a very efficient use of a function hook. The function you're hooking tells you which frame it updated, so when your hook runs, you only need to update that frame, not every frame.
Code:
hooksecurefunc("PartyMemberFrame_UpdateMember", function(self)
if self:IsShown() then
local unit = "party"..self:GetID()
if UnitIsPlayer(unit) then
local _, class = UnitClass(unit)
local color = class and RAID_CLASS_COLORS[class]
if color then
self.name:SetTextColor(color.r, color.g, color.b)
else
self.name:SetTextColor(1, 0.8, 0)
end
self.name:SetText(GetUnitName(unit, false))
end
end
end)
You also only need to update things that the default UI actually changes. It will never change the font during gameplay, so you don't need to re-set the font over and over. Just do that one time when your addon loads:
Code:
for i = 1, 4 do
_G["PartyMemberFrame"..i.."Name"]:SetFont(DefaultFont, DefaultSize, "OUTLINE")
end
Try commenting out all of your code, and re-working one part at a time. Make sure each part is taint-free before re-introducing the next part.