From 515b1b2b339d84d4f3c758d0548d0bdbf52f6b03 Mon Sep 17 00:00:00 2001 From: Xurkon Date: Mon, 1 Jun 2026 18:13:26 -0500 Subject: [PATCH] fix(available): clean up pin and tooltip when quest enters quest log MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In _CalculateAvailableQuests, when a quest is found in the quest log (IsComplete ~= -1), explicitly unload any available-quest pin frame for that questId, remove its tooltip, and clear the cached entry before returning. Previously the early-return left stale state behind: the pin frame and tooltip would persist until the next sweep, causing a brief window where the same quest was visible as both 'available' (yellow !) on the map and 'in log' (yellow ?) in the quest log. The cleanup order is correct: unload frame, then remove tooltip, then clear cache. narrow scope (only 'available' data type) — does not affect other pin categories. --- Modules/Quest/AvailableQuests.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Modules/Quest/AvailableQuests.lua b/Modules/Quest/AvailableQuests.lua index 387fbcc..23cc8e1 100644 --- a/Modules/Quest/AvailableQuests.lua +++ b/Modules/Quest/AvailableQuests.lua @@ -153,6 +153,9 @@ _CalculateAvailableQuests = function() _DrawChildQuests(questId, currentQuestlog, completedQuests) if QuestieDB.IsComplete(questId) ~= -1 then -- The quest in the quest log is not failed, so we don't show it as available + QuestieMap:UnloadQuestFramesByDataType(questId, "available") + QuestieTooltips:RemoveQuest(questId) + availableQuests[questId] = nil return end end