tag 3e6f8cdf744128ea2bc9898aa716f02de31cf3d7 v1.0.4
Author:	Pat George <patgeorge@meta.com>
Date:	Thu Aug 6 17:46:24 2026 -0400

v1.0.4 — fix gossip overlap via shared font objects; stop tainting UIWidgetManager

Sizes the shared quest/gossip font objects so the gossip scroll list measures
and renders rows at the same metrics, fixing greeting text overlapping the
option rows.

Also removes the addon-driven GossipFrame:Update() re-flow, which tainted the
shared UIWidgetManager and — under 12.0's secret values — caused Lua errors in
Blizzard's widget templates on world map area-POI mouseover. SetScale is now
skipped entirely at the default 1.0 scale.

Known trade-off: changing the font size while a gossip window is already open
now applies the next time the window is opened.

commit 870d2cbc5425085f989c502afd0547eef8e18789
Author: Pat George <patgeorge@meta.com>
Date:   Thu Aug 6 11:01:41 2026 -0400

    Bump to 1.0.4 (fix gossip overlap via font objects; stop tainting UIWidgetManager)
    
    Size the shared quest/gossip font objects (QuestFont, QuestFontLeft, etc.)
    rather than individual FontStrings, so the gossip scroll list's extent
    calculator measures rows with the same metrics it renders them at. This is
    what actually fixes the greeting text overlapping the option rows.
    
    The first cut of that also drove GossipFrame:Update() from addon code to
    force a re-flow. That registers gossip widget sets with the shared
    UIWidgetManager under our taint, which leaves the manager's internal tables
    tainted for the rest of the session. Since 12.0's secret values forbid
    arithmetic on tainted execution paths, every later widget pass that read
    those tables blew up -- surfacing as a hard Lua error in
    Blizzard_UIWidgetTemplateTextWithState:Setup on map area-POI mouseover.
    
    So: never call into Blizzard's layout from here. Font objects persist, so
    pre-sizing them at login and on change covers every window opened
    afterwards. The only case dropped is re-flowing a gossip window that is
    already on screen when the size changes; that now applies on next open.
    
    Also narrow the SetScale taint surface -- skip it entirely at the default
    1.0 scale, and skip redundant calls -- since GossipFrame is itself a
    registered widget-set container.
    
    Note the underlying arithmetic-on-secret crash is a Blizzard bug (the
    template measures text height without a secure call), so it can still be
    triggered by other addons on the map-hover path. This just stops PBQT
    being one of them.

