Title
9.1.8 regression: nameplate target highlight sticks to previous target on any target swap
Body
Since updating to 9.1.8, when I swap targets in combat, the nameplate of my previous target sometimes stays visually highlighted/scaled as if it's still my current target. Happens on plain target swaps, not tied to me personally casting or interrupting anything.
Bisected to EllesmereUINameplates/EllesmereUINameplates.lua: swapping just that one file back to its 9.1.7 version, with every other module on 9.1.8, fixed it.
Compare view: v9.1.7...v9.1.8
The only functional change to that file between 9.1.7 and 9.1.8 is a new block added to NameplateFrame:UNIT_SPELLCAST_STOP, which force-clears isCasting and calls ApplyScale()/ClearImportantCastGlow() when it detects a stuck cast state (guards against a secret UnitCastingInfo tuple at the stop edge). That block never calls ApplyTarget(), so it doesn't re-sync the plate's target highlight/border/glow after touching scale.
Confirmed workaround/fix: adding a call to self:ApplyTarget() (plus ns.ClearHoverExtras(self)) right after self:ApplyScale() inside that UNIT_SPELLCAST_STOP block resolves the issue for me.
self:ApplyScale()
if ns.ClearHoverExtras then ns.ClearHoverExtras(self) end
self:ApplyTarget()
Repro
- Run 9.1.8 with default settings.
- In combat with multiple enemies (trash pull works well), swap target repeatedly.
- Old target's nameplate occasionally stays highlighted/scaled after selecting a new one.
Version
9.1.8 (broken), 9.1.7 (fine), 9.1.8 + the ApplyTarget() addition above (fixed for me).
Title
9.1.8 regression: nameplate target highlight sticks to previous target on any target swap
Body
Since updating to 9.1.8, when I swap targets in combat, the nameplate of my previous target sometimes stays visually highlighted/scaled as if it's still my current target. Happens on plain target swaps, not tied to me personally casting or interrupting anything.
Bisected to
EllesmereUINameplates/EllesmereUINameplates.lua: swapping just that one file back to its 9.1.7 version, with every other module on 9.1.8, fixed it.Compare view: v9.1.7...v9.1.8
The only functional change to that file between 9.1.7 and 9.1.8 is a new block added to
NameplateFrame:UNIT_SPELLCAST_STOP, which force-clearsisCastingand callsApplyScale()/ClearImportantCastGlow()when it detects a stuck cast state (guards against a secretUnitCastingInfotuple at the stop edge). That block never callsApplyTarget(), so it doesn't re-sync the plate's target highlight/border/glow after touching scale.Confirmed workaround/fix: adding a call to
self:ApplyTarget()(plusns.ClearHoverExtras(self)) right afterself:ApplyScale()inside thatUNIT_SPELLCAST_STOPblock resolves the issue for me.Repro
Version
9.1.8 (broken), 9.1.7 (fine), 9.1.8 + the
ApplyTarget()addition above (fixed for me).