Skip to content

Fix dispel border toggles breaking the debuffs and dispels indicators - #7

Open
KharchenkoDmitriy wants to merge 1 commit into
NeeRgY:masterfrom
KharchenkoDmitriy:fix/dispel-border-refresh
Open

Fix dispel border toggles breaking the debuffs and dispels indicators#7
KharchenkoDmitriy wants to merge 1 commit into
NeeRgY:masterfrom
KharchenkoDmitriy:fix/dispel-border-refresh

Conversation

@KharchenkoDmitriy

Copy link
Copy Markdown

The "Show dispel-type border" (debuffs) and "Show frame border" (dispels) checkbuttons fire UpdateIndicators with setting == "checkbutton", but neither UnitButton_*.lua's UpdateIndicators had a branch for them, so both fell through to the catch-all:

indicatorBooleans[indicatorName] = value2

For debuffs that clobbers the dispellableByMe filter, so ticking the box silently hid every debuff the player cannot dispel. For dispels it is worse: indicatorBooleans["dispels"] holds the filter table, so replacing it with a boolean makes the next aura update error out on indicatorBooleans["dispels"]["dispellableByMe"] and the whole indicator stops working. Neither toggle actually reached the border it names.

Handle both explicitly instead:

  • showDispelBorder re-applies the icon border thickness (0 when off), which takes effect immediately on the existing icons.
  • showDispelFrameBorder flips the dispels frame-border flag and forces an aura update, since the border strips are only colored and shown from SetDispels -- turning the toggle back on would otherwise do nothing visible until the unit's auras next changed.

Applied to all flavors: UnitButton.lua, UnitButton_Cata_Wrath.lua, UnitButton_Mists.lua and UnitButton_Vanilla.lua (also used by TBC).

@KharchenkoDmitriy

KharchenkoDmitriy commented Aug 31, 2026

Copy link
Copy Markdown
Author

There was also thikness slider issue

1x Cell/RaidFrames/UnitButton_Vanilla.lua:714: attempt to index local 'indicator' (a nil value)
[Cell/RaidFrames/UnitButton_Vanilla.lua]:714: in function 'func'
[Cell/Utils.lua]:942: in function 'IterateAllUnitButtons'
[Cell/RaidFrames/UnitButton_Vanilla.lua]:712: in function 'onEventFunc'
[Cell/Libs/CallbackHandler.lua]:24: in function 'Fire'
[Cell/Modules/Indicators/Indicators.lua]:2185: in function 'thicknessFunc'
[Cell/Widgets/Widgets_IndicatorSettings.lua]:663: in function 'afterValueChangedFn'
[Cell/Widgets/Widgets.lua]:1220: in function <Cell/Widgets/Widgets.lua:1210>

Included the fix

Retail's HandleIndicators applies "showDispelBorder" (debuffs) and
"showDispelFrameBorder" (dispels) together with the thickness when an
indicator is created; the Cata/Wrath, Mists and Vanilla/TBC copies only
called SetThickness, so the dispel-type border came back on at every
indicator (re)creation - the first group after a reload, a layout switch
- regardless of the setting. Ported retail's block to the three files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011YngV4VgYFwrPdgvWYVz7p
@KharchenkoDmitriy
KharchenkoDmitriy force-pushed the fix/dispel-border-refresh branch from 6cbd3d2 to 2108c39 Compare September 1, 2026 05:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant