BigDebuffs

BigDebuffs

20M Downloads

BigDebuffs blocking action bars

SweepyBoop opened this issue ยท 3 comments

commented

After playing the game for a while, BigDebuffs is blocking all my action bars.
Keyboard pressing is completely broken, but mouse clicking still works.

Taking a look at the taint log, the block is:

An action was blocked in combat because of taint from BigDebuffs - ActionButton1:SetAttribute()

Looking back from there, the SetAttribute taint happens around here:

1/22 14:48:19.419      Interface/FrameXML/ActionButton.lua:486 OverrideActionBarButton1:UpdateSpellHighlightMark()
1/22 14:48:19.419      Interface/FrameXML/ActionButton.lua:392 OverrideActionBarButton1:Update()
1/22 14:48:19.419      Interface/FrameXML/ActionButton.lua:362
1/22 14:48:19.419      OverrideActionBarButton1:UpdateAction()
1/22 14:48:19.419      Interface/FrameXML/ActionButton.lua:354
1/22 14:48:19.419      OverrideActionBarButton1:SetAttribute()
**1/22 14:48:19.419      Interface/AddOns/BigDebuffs/BigDebuffs.lua:1321**
1/22 14:48:19.419      UpdateAction()

Looking at the BigDebuffs code, I see the following:

local function checkFrame(frame)
    if not issecurevariable(frame, "action") and not InCombatLockdown() then
        frame.action = nil
        frame:SetAttribute("action");
    end
end

for _, frame in ipairs(ActionBarButtonEventsFrame.frames) do
    if frame.UpdateAction then hooksecurefunc(frame, "UpdateAction", checkFrame) end
end

Could you tell me what this hooksecurefunc is doing on action bars?
I can't think of a scenario where you'd need to interact with action bars.

commented

I found the first PR this piece of code is added:
65134be

But even removing this code doesn't generate lua errors in editing mode.

commented

After removing the SetAttribute hook, I haven't seen the action button block so far.
But I will test more to make sure.

Even if this piece of code is actually needed to fix taint in editing mode, I think action bar block is far more severe than lua error under editing mode..

commented

The change is implemented in #593