fix(compat): convert FileDataID Set*Texture() calls to string paths

WoW 3.3.5 / CoA does not support numeric FileDataIDs in Set(*)Texture —
only string paths. Upstream Ace3 uses FDIDs in 42 places across
AceGUI-3.0/widgets and AceConfigDialog-3.0, which silently fail and
render as red placeholders (visible as solid-red squares where color
swatches, checkboxes, and window chrome should be).

Substituted each FDID with the string path documented in the trailing
comment. Files touched:

  AceGUI-3.0/widgets/AceGUIContainer-Frame.lua             (5)
  AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua         (4)
  AceGUI-3.0/widgets/AceGUIContainer-Window.lua           (12)
  AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua             (9)
  AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua          (3)
  AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua       (3)
  AceGUI-3.0/widgets/AceGUIWidget-Heading.lua              (2)
  AceGUI-3.0/widgets/AceGUIWidget-Icon.lua                 (1)
  AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua (3)

Documented as patch #1 in README.md.
This commit is contained in:
2026-05-23 14:03:09 +02:00
parent 15079007e7
commit d422ad36b8
10 changed files with 57 additions and 49 deletions
+15 -7
View File
@@ -2,10 +2,17 @@
Canonical [Ace3](https://www.wowace.com/projects/ace3) bundle for the CoA Guild 'Exiles' addon forks.
Lifted verbatim from upstream [WoWUIDev/Ace3](https://github.com/WoWUIDev/Ace3) at commit
Lifted from upstream [WoWUIDev/Ace3](https://github.com/WoWUIDev/Ace3) at commit
[`52e5f2c`](https://github.com/WoWUIDev/Ace3/commit/52e5f2c7101b6edb02b48ea232bdda2df09d2960)
(2026-05-17). Every fork in the `Exiles` org should converge on this bundle so the runtime
LibStub resolution is predictable and addons can't quietly regress when one of them is disabled.
(2026-05-17), with a single CoA-compat patch on top (see below). Every fork in the `Exiles`
org should converge on this bundle so the runtime LibStub resolution is predictable and addons
can't quietly regress when one of them is disabled.
## CoA-compat patches on top of upstream
| # | Issue | Fix |
|---|-------|-----|
| 1 | Upstream Ace3 calls `Texture:Set*Texture(<FileDataID>)` with numeric FileDataIDs in 42 places across `AceGUI-3.0/widgets/*` and `AceConfigDialog-3.0`. FileDataIDs are a retail-only API (post WoD/Legion). On the WoW 3.3.5-based CoA client, `SetTexture` only accepts string paths — passing a number silently fails and the engine renders a red placeholder. Symptom: solid-red squares where color swatches / checkboxes / window chrome should be. | Each FDID call was substituted with the string path that already lived in the trailing comment, e.g. `colorSwatch:SetTexture(130939)``colorSwatch:SetTexture("Interface\\ChatFrame\\ChatFrameColorSwatch")`. |
## Versions
@@ -54,7 +61,8 @@ get Ace without each one carrying its own copy.
## Sync policy
Bumping upstream means a single PR here, then a sweep across every fork that embeds these
libs. Note the new upstream commit in the README's commit-pin line above. Never edit a
library file in place; if a CoA-specific patch is genuinely needed, ship it as a separate
loadable addon that registers a higher MINOR via LibStub, leaving this bundle pristine.
Bumping upstream means a single commit here, then a sweep across every fork that embeds these
libs. Note the new upstream commit in the README's commit-pin line above, and re-apply
the CoA-compat patches listed above against the new revision (the FDID one is mechanical —
see `/tmp/fix_fdid.py` history). Keep patches **minimal and documented in this README**;
prefer fixing them upstream where reasonable.