diff --git a/api/api.lua b/api/api.lua index b7e24a28..d5cb942a 100644 --- a/api/api.lua +++ b/api/api.lua @@ -470,8 +470,7 @@ function pfUI.api.UpdateMovable(frame) end if not pfUI.movables[name] then - pfUI.movables[name] = true - table.insert(pfUI.movables, name) + pfUI.movables[name] = frame end -- update position data diff --git a/modules/unlock.lua b/modules/unlock.lua index a59a533f..fc36f15b 100644 --- a/modules/unlock.lua +++ b/modules/unlock.lua @@ -65,8 +65,8 @@ pfUI:RegisterModule("unlock", function () this.setup = true end - for _,frame in pairs(pfUI.movables) do - local frame = _G[frame] + for name, frame in pairs(pfUI.movables) do + local frame = frame or _G[name] if frame then if not frame:IsShown() then @@ -74,7 +74,7 @@ pfUI:RegisterModule("unlock", function () end if not frame.drag then - frame.drag = CreateFrame("Button", nil, frame) + frame.drag = CreateFrame("Button", "pfUnlockDragger", frame) frame.drag:RegisterForClicks("MiddleButtonUp") frame.drag:SetAllPoints(frame) frame.drag:SetFrameStrata("DIALOG") @@ -277,8 +277,8 @@ pfUI:RegisterModule("unlock", function () end) pfUI.unlock:SetScript("OnHide", function() - for _,frame in pairs(pfUI.movables) do - local frame = _G[frame] + for name, frame in pairs(pfUI.movables) do + local frame = frame or _G[name] if frame then frame:StopMovingOrSizing()