fix(quest): map pins disappear after first kill

AlreadySpawned kept stale entries after UnloadQuestFrames ran.
The draw path for incomplete objectives never cleared it — only
completed objectives called _UnloadAlreadySpawnedIcons. Added
clear at the start of the spawnList draw path so _DetermineIconsToDraw
sees an empty AlreadySpawned and recreates icons each update cycle.
This commit is contained in:
Xurkon
2026-05-21 19:46:17 -05:00
parent afb58e1c2f
commit 8ab14db3a3
+5
View File
@@ -1513,6 +1513,11 @@ function QuestieQuest:PopulateObjective(quest, objectiveIndex, objective, blockI
if objective.spawnList and next(objective.spawnList) then if objective.spawnList and next(objective.spawnList) then
Questie:Debug(Questie.DEBUG_DEVELOP, "[QuestieQuest:PopulateObjective] spawnList present for quest:", quest.Id, Questie:Debug(Questie.DEBUG_DEVELOP, "[QuestieQuest:PopulateObjective] spawnList present for quest:", quest.Id,
"objIdx:", objectiveIndex, "spawnList entries:", (function() local n=0 for _ in pairs(objective.spawnList) do n=n+1 end return n end)()) "objIdx:", objectiveIndex, "spawnList entries:", (function() local n=0 for _ in pairs(objective.spawnList) do n=n+1 end return n end)())
-- Clear stale AlreadySpawned entries before drawing. Frames may have been
-- unloaded by UnloadQuestFrames but AlreadySpawned still references dead frames.
_UnloadAlreadySpawnedIcons(objective)
local maxPerType = 300 local maxPerType = 300
if Questie.db.profile.enableIconLimit and Questie.db.profile.iconLimit < maxPerType then if Questie.db.profile.enableIconLimit and Questie.db.profile.iconLimit < maxPerType then