From df7b5cff3e06fabba1f3edadd9ff9aed410b17ff Mon Sep 17 00:00:00 2001 From: Xurkon Date: Mon, 1 Jun 2026 18:11:14 -0500 Subject: [PATCH] debug(map): add gated [QD] trace in SetDrawOrder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a print() block in QuestieMap.utils:SetDrawOrder, gated by _G.QuestieDebugPins. Dumps frame name, parent (QuestieFrameGroup or Minimap), frame level, strata, shown/hidden state, and anchor point. Used to diagnose why minimap pins appear on the wrong layer (behind border or terrain texture) — the trace fires before SetParent / SetFrameStrata / SetFrameLevel so the post-call result can be compared to the pre-call printed values. Default state: GATE IS OFF. Zero runtime cost in production. All API calls defensive with tostring() and parent.GetName fallbacks. --- Modules/Map/QuestieMapUtils.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Modules/Map/QuestieMapUtils.lua b/Modules/Map/QuestieMapUtils.lua index 216c502..a92a440 100644 --- a/Modules/Map/QuestieMapUtils.lua +++ b/Modules/Map/QuestieMapUtils.lua @@ -21,6 +21,23 @@ function QuestieMap.utils:SetDrawOrder(frame) local frameLevel = Minimap:GetFrameLevel() + 7 local frameStrata = Minimap:GetFrameStrata() local parent = _G["QuestieFrameGroup"] or Minimap + if _G.QuestieDebugPins then + local point1, rel1, point2, xOff, yOff = frame:GetPoint() + print(string.format( + "[QD] SetDrawOrder minimap name=%s parent=%s level=%s strata=%s shown=%s hidden=%s point=(%s,%s,%s,%s,%s)", + tostring(frame:GetName()), + tostring(parent and parent.GetName and parent:GetName() or parent), + tostring(frameLevel), + tostring(frameStrata), + tostring(frame:IsShown()), + tostring(frame.hidden), + tostring(point1), + tostring(rel1 and rel1.GetName and rel1:GetName() or rel1), + tostring(point2), + tostring(xOff), + tostring(yOff) + )) + end frame:SetParent(parent) frame:SetFrameStrata(frameStrata) frame:SetFrameLevel(frameLevel)