Creating this issue on behalf of discord user Nicklaso.
Balance Druid Eclipse buffs (Lunar 48518 / Solar 48517) share a single CDM spellID (1239669) with two separate children in BuffIconCooldownViewer. This causes several display issues in the CDM buff bar:
- Only one Eclipse icon shows when both are active (Incarnation: Chosen of Elune)
- Lunar Eclipse shows a cooldown swipe but with the wrong icon
- Solar Eclipse shows the default Eclipse icon with no cooldown swipe
- The spell picker dropdown lists Eclipse twice
- Selecting one Eclipse entry in the picker removes both
Root Cause
_tickBlizzAllChildCache stores one child per spellID, so the second Eclipse child overwrites the first. Additionally, CDM child frame properties (.isActive, .Icon:GetTexture(), aura data) are WoW "secret" values that cause taint errors when compared or tested in addon code.
Proposed Fix
I have a fix on my fork (fix/lunar-eclipse branch) that I'd like to submit as a PR if you're interested. The approach:
- Adds a multi-child cache for spells with multiple CDM children within the same viewer
- Expands the icon list with companion entries filtered by :IsShown()
- Uses SetTexture() as a taint-safe sink for child icon textures
- Deduplicates the spell picker dropdown by spellID
Creating this issue on behalf of discord user Nicklaso.
Balance Druid Eclipse buffs (Lunar 48518 / Solar 48517) share a single CDM spellID (1239669) with two separate children in BuffIconCooldownViewer. This causes several display issues in the CDM buff bar:
Root Cause
_tickBlizzAllChildCache stores one child per spellID, so the second Eclipse child overwrites the first. Additionally, CDM child frame properties (.isActive, .Icon:GetTexture(), aura data) are WoW "secret" values that cause taint errors when compared or tested in addon code.
Proposed Fix
I have a fix on my fork (fix/lunar-eclipse branch) that I'd like to submit as a PR if you're interested. The approach: