Annika:
This one took a while to track down, but I figured it out.
There is some code in
Interface/AddOns/Blizzard_ObjectiveTracker/Blizzard_QuestObjectiveTracker.lua that constantly effectively checks GetSuperTrackedQuestID(), and if it's 0 (which is what we set it to every time SetSuperTrackedQuestID() is called) it is deemed invalid and the closest quest is calculated and SetSuperTrackedQuestID() is called with that quest's questID.
Since the code in
Blizzard_QuestObjectiveTracker.lua constantly checks, we get a call to SetSuperTrackedQuestID() probably every frame, since we immediately override by setting it to 0 again:
Lua Code:
hooksecurefunc('SetSuperTrackedQuestID', function(questID)
if questID ~= 0 then
SetSuperTrackedQuestID(0)
end
end)
The reason this prevents viewing quest details is that
Interface/FrameXML/WorldMapFrame.lua listenes for the SUPER_TRACKED_QUEST_CHANGED event and
calls QuestMapFrame_CloseQuestDetails() every time SUPER_TRACKED_QUEST_CHANGED, which is constantly since our code is pinging back and forth with Blizzard's.
To fix this we override the Blizzard function which calls
QuestSuperTracking_ChooseClosestQuest():
Lua Code:
QuestSuperTracking_CheckSelection = function()
return
end
We could also have overridden another immediately relevant function called
QuestSuperTracking_IsSuperTrackedQuestValid(), but we don't need to.
EDIT:
As a side note, you can also remove the golden minimap arrow by putting an empty .blp called SuperTrackerArrow.blp in Interface/Minimap. This might be the way forward if Blizzard keeps doing smart things