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
@@ -962,11 +962,13 @@ for _, class in ipairs(CLASS_SORT_ORDER) do
local specs = C_ClassInfo.GetAllSpecs(class)
if specs then
for _, spec in ipairs(specs) do
local spec_info = C_ClassInfo.GetSpecInfo(class, spec)
local ok, spec_info = pcall(C_ClassInfo.GetSpecInfo, class, spec)
if ok and spec_info then
if spec_info then
default_profile.class_specs_coords [spec_info.ID] = {AtlasUtil:GetCoords("specicon-"..class.."-"..spec_info.Spec)}
end
end
end
end
end