fix: port Phase 1 perf/correctness audit fixes onto main
Brings the still-needed changes from questie-phase1perf that main lacked. Main already had the Lua 5.0 shims (QuestieLoader bit/strsplit, QuestieStream and QuestieSerializer math.mod sweep), so those are omitted. - QuestieNameplate: skip missing entries instead of return-aborting the whole activeGUIDs loop (one bad unit no longer stalls every nameplate update) - QuestieQuest.ClearAllNotes: skip DB-missing quests instead of aborting, so remaining quests' notes still get cleared - QuestieOptionsTracker: fix fadeTickerValue:Cancel -> fadeTicker:Cancel (3x); fadeTickerValue is a number, the ticker handle is fadeTicker - QuestieCommsData: nil-guard GetNPC/GetObject before reading .name - QuestieAnnounce: bound the alreadySentBandaid dedup cache (reset at 1000) - QuestieDB.IsComplete: hoist GetQuest into expectedQuest (one call, not two) - QuestieFramePool/QuestieFrame: drop the dead BaseOnUpdate ticker branch (BaseOnUpdate was never defined; behavior was always OnUpdate=nil) - QuestieLib: document unused questId arg on Ascension_IsScalingEnabled - Database/Corrections x3: strip stray UTF-8 BOM - Questie-X.toc: remove duplicate QuestieSlash.lua load line
This commit is contained in:
@@ -85,23 +85,23 @@ function QuestieNameplate:UpdateNameplate()
|
||||
local unitName, _ = UnitName(token)
|
||||
local _, _, _, _, _, npcId, _ = strsplit("-", guid)
|
||||
|
||||
if (not unitName) or (not npcId) then
|
||||
return
|
||||
end
|
||||
-- Skip this entry (not the whole loop) if data is missing, otherwise one
|
||||
-- unavailable unit would abort updates for every remaining nameplate.
|
||||
if unitName and npcId then
|
||||
local icon = _QuestieNameplate.GetValidIcon(QuestieTooltips.lookupByKey["m_" .. npcId])
|
||||
|
||||
local icon = _QuestieNameplate.GetValidIcon(QuestieTooltips.lookupByKey["m_" .. npcId])
|
||||
|
||||
if icon then
|
||||
local frame = _QuestieNameplate.GetFrame(guid)
|
||||
-- check if the texture needs to be changed
|
||||
if frame.lastIcon ~= icon then
|
||||
frame.lastIcon = icon
|
||||
frame.Icon:SetTexture(icon)
|
||||
if icon then
|
||||
local frame = _QuestieNameplate.GetFrame(guid)
|
||||
-- check if the texture needs to be changed
|
||||
if frame.lastIcon ~= icon then
|
||||
frame.lastIcon = icon
|
||||
frame.Icon:SetTexture(icon)
|
||||
end
|
||||
else
|
||||
-- tooltip removed but we still have the frame active, remove it
|
||||
activeGUIDs[guid] = nil
|
||||
_QuestieNameplate.RemoveFrame(guid)
|
||||
end
|
||||
else
|
||||
-- tooltip removed but we still have the frame active, remove it
|
||||
activeGUIDs[guid] = nil
|
||||
_QuestieNameplate.RemoveFrame(guid)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user