Hi,
I'm writing an addon that disables ExtraActionBarFrame and creates my own frame to use instead.
Code:
PLBARS[10*9+6] - stores a flag to switch between custom and default bars
xRef[9][1] - my custom frame, "ExtraBarFrame"
xRef[9][2] - texture of xRef[9][1]
xRef[9][3] - secure template button, child of xRef[9][1], "ExtraBarFrameButton"
xRef[9][4] - texture of xRef[9][3]
This is the function that is called on UPDATE_EXTRA_ACTIONBAR:
local function setExtraBar()
if PLBARS[10*9+6] == 1 then
xRef[9][1]:Show()
ExtraActionBarFrame.button:Hide()
local EABF = ExtraActionBarFrame
local tex = EABF.button.icon:GetTexture()
if not HasExtraActionBar() then
xRef[9][3]:Hide()
xRef[9][2]:SetTexture(unpack(PLBARS[10*9 + 5]))
else
if tex ~= nil then xRef[9][4]:SetTexture(tex) end
xRef[9][3]:Show()
xRef[9][2]:SetTexture(unpack(barColor["EXTRA"]))
end
else
xRef[9][1]:Hide()
ExtraActionBarFrame.button:Show()
end
end
Everything works just fine except sometimes when I throw an extra bar item while in combat I have a message that interface action failed because of the addon and my custom secure button is not being hidden.
This is what taint.log says:
Code:
7/10 13:23:52.412 ActionButton_UpdateFlyout()
7/10 13:23:52.412 An action was blocked in combat because of taint from PlayerBars - ExtraBarFrame:Show()
7/10 13:23:52.412 Interface\AddOns\PlayerBars\main.lua:163 setExtraBar()
7/10 13:23:52.412 Interface\AddOns\PlayerBars\main.lua:421
7/10 13:23:52.412 ActionButton_UpdateFlyout()
7/10 13:23:52.412 An action was blocked in combat because of taint from PlayerBars - ExtraActionButton1:Hide()
7/10 13:23:52.412 Interface\AddOns\PlayerBars\main.lua:164 setExtraBar()
7/10 13:23:52.412 Interface\AddOns\PlayerBars\main.lua:421
7/10 13:23:52.412 ActionButton_UpdateFlyout()
7/10 13:23:52.412 An action was blocked in combat because of taint from PlayerBars - ExtraBarFrameButton:Hide()
7/10 13:23:52.412 Interface\AddOns\PlayerBars\main.lua:169 setExtraBar()
7/10 13:23:52.412 Interface\AddOns\PlayerBars\main.lua:421
Can anyone help me to figure out how to fix this?
Thanks,