fix: pcall-guard C_ClassInfo.GetSpecInfo to silence CoA spec API spam

On the current CoA Beta client, C_ClassInfo.GetAllSpecs(class) returns
items that GetSpecInfo cannot accept as arg #2, throwing
'Script::ValidateInput Invalid argument type at index 2. Expected string.'
~150 times per session across DF, LibOpenRaid, gears, profiles, etc.

Wrap every unguarded GetSpecInfo(class, spec) site in pcall + nil-guard
so the iteration skips bad entries silently. Matches the pattern already
used by CoaExporter and prevents Error.txt flooding.
This commit is contained in:
2026-05-23 00:14:25 +02:00
parent 9c204f6763
commit 02b17e0a00
7 changed files with 24 additions and 8 deletions
+3 -1
View File
@@ -484,7 +484,9 @@ for _, class in ipairs(CLASS_SORT_ORDER) do
local specs = C_ClassInfo.GetAllSpecs(class)
openRaidLib.specAttribute[class] = {}
for index, spec in ipairs(specs) do
local specInfo = C_ClassInfo.GetSpecInfo(class, spec)
local ok, specInfo = pcall(C_ClassInfo.GetSpecInfo, class, spec)
if ok and specInfo then
openRaidLib.specAttribute[class][specInfo.ID] = Enum.PrimaryStat[specInfo.PrimaryStats[1] or "Strength"]
end
end
end