mirror of
https://github.com/brues-code/pfUI.git
synced 2026-09-21 23:26:56 +00:00
a7ad1f073f
cache.namecolor was written by two writers holding unrelated quantities: the computed health-bar colour in OnDataChanged, which class-colours friendly player names when friendclassnamec is on, and Blizzard's own name FontString in the OnUpdate sync. Sharing one key let either suppress the other, so the option silently lost - names came out white with namefightcolor off, or the plain reaction colour with it on. It also forced a full data pass every throttled tick, because the sync writer sets update = true whenever it writes and the two kept flipping the key. That defeats the half-second tick gate entirely. Compounded by nameplate.cache surviving pool reuse: OnShow re-runs the data pass but never clears the table, which is built once at plate creation, so a recycled plate could inherit the previous unit's name colour. Ownership is now explicit through cache.ownname, each writer keeps its own key, and both are invalidated when ownership flips. (cherry picked from commit 0a4b3a7d6ae523cf70584adbb694a8740024b7cd) (cherry picked from commit 0df9bb9fa907349182fb03217cab6aa1777aa7d9)