Skip to content

fix(damage-meters): prevent empty row outlines - #2264

Merged
EllesmereGaming merged 1 commit into
EllesmereGaming:mainfrom
denis-makula:dev/fix-damage-meter-empty-rows
Sep 27, 2026
Merged

EllesmereGaming merged 1 commit into
EllesmereGaming:mainfrom
denis-makula:dev/fix-damage-meter-empty-rows

Conversation

@denis-makula

Copy link
Copy Markdown
Contributor

What does this PR do?

Fixes damage meter rows that can display empty icon squares and a thin vertical line instead of their contents.

Rows now initialize correctly when class/spec information is missing or the initial window layout is unresolved. Scroll positions are adjusted before drawing a different combat segment, hidden or disabled icon borders stay hidden, and pinned rows are cleared when session data disappears.

How was it tested?

Validated the complete modified Lua file with Lua 5.1 and ran six regression cases against the actual row creation and refresh functions using mocked UI frames:

  • Hidden icon borders remain hidden after styling.
  • Rows without class/spec data initialize, recycle, and resize correctly.
  • Switching from a scrolled, longer segment to a shorter segment populates the visible rows.
  • Initial contents populate while the viewport size is unresolved.
  • Pinned rows initialize without class data and disappear when session data is unavailable.
  • Disabled icon borders stay disabled when the displayed source changes.

All six cases passed with the fix and failed against the original code.

Screenshots

Images captured after a clean Retail client start.

Before:
before

After:
after

Checklist

  • New settings default OFF (N/A: this is a bug fix with no new settings)
  • Zero cost while disabled: no additional events registered, polling, hooks, or frames introduced
  • Cheap while enabled: changes use the existing refresh flow without adding polling, timer-based logic, or per-frame allocations
  • No writes onto Blizzard-owned frames; changes affect only addon-owned rows
  • Tested in-game on Retail;

- Initialize row layout and colors even when class and spec data are missing.
- Settle scrolling and pinned rows before populating visible content, including unresolved initial layouts.
- Preserve hidden or disabled icon borders after styling and clear stale pinned data when sessions disappear.
@EllesmereGaming
EllesmereGaming merged commit f5f82f3 into EllesmereGaming:main Sep 27, 2026
1 check passed
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.

2 participants