ElvUI WindTools

ElvUI WindTools

5M Downloads

[Bug] CollectionsJournal:SetPoint(): Wrong object type in MoveFrames.lua (line 405)

Shade-ui opened this issue · 1 comments

commented

Image
Image

Message: CollectionsJournal:SetPoint(): Wrong object type for function
Time: Thu Jul 10 23:13:17 2025
Count: 1
Stack:
[Interface/AddOns/ElvUI_WindTools/Modules/Misc/MoveFrames.lua]:405: in function <...e/AddOns/ElvUI_WindTools/Modules/Misc/MoveFrames.lua:387>
[tail call]: ?
[C]: in function 'SetPoint'
[Interface/AddOns/Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua]:636: in function 'UpdateUIPanelPositions'
[Interface/AddOns/Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua]:181: in function <...ParentPanelManager/Mainline/UIParentPanelManager.lua:169>
[C]: in function 'SetAttribute'
[Interface/AddOns/Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua]:1157: in function <...ParentPanelManager/Mainline/UIParentPanelManager.lua:1155>
[C]: in function 'securecall'
[Interface/AddOns/Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua]:490: in function 'SetUIPanel'
[Interface/AddOns/Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua]:337: in function 'ShowUIPanel'
[Interface/AddOns/Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua]:174: in function <...ParentPanelManager/Mainline/UIParentPanelManager.lua:169>
[C]: in function 'SetAttribute'
[Interface/AddOns/Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua]:894: in function 'ShowUIPanel'
[Interface/AddOns/Blizzard_UIParent/Mainline/UIParent.lua]:1037: in function 'SetCollectionsJournalShown'
[Interface/AddOns/Blizzard_UIParent/Mainline/UIParent.lua]:1021: in function 'ToggleCollectionsJournal'
[TOGGLECOLLECTIONS]:1: in function <[string "TOGGLECOLLECTIONS"]:1>

Locals:
self =

{
modules =
{
}
defaultModuleLibraries =
{
}
hooks =
{
}
name = "ElvUI_WindTools_MoveFrames"
orderedModules =
{
}
baseName = "ElvUI_WindTools"
db =
{
}
enabledState = true
defaultModuleState = true
moduleName = "MoveFrames"
}
frame = CollectionsJournal {
ToysTab = CollectionsJournalTab3 {
}
PetsTab = CollectionsJournalTab2 {
}
MountsTab = CollectionsJournalTab1 {
}
Tabs =
{
}
HeirloomsTab = CollectionsJournalTab4 {
}
layoutType = "PortraitFrameTemplate"
PortraitContainer = Frame {
}
Bg = CollectionsJournalBg {
}
NineSlice = Frame {
}
TopTileStreaks = Texture {
}
__windFramePath = "CollectionsJournal"
WardrobeTab = CollectionsJournalTab5 {
}
TitleContainer = Frame {
}
CloseButton = CollectionsJournalCloseButton {
}
backdrop = Frame {
}
MoveFrame = CollectionsJournal {
}
numTabs = 6
WarbandScenesTab = CollectionsJournalTab6 {
}
selectedTab = 3
}
anchorPoint = "TOPLEFT"
relativeFrame = "UIParent"
relativePoint = "TOPLEFT"
offX = 16
offY = -116
skip = nil
path = "CollectionsJournal"
(for state) =
{
1 =
{
}
}
(for control) = 1
_ = 1
point =
{
anchorPoint = "TOPLEFT"
relativeFrame =
{
}
offY = -116.000008
offX = 16
relativePoint = "TOPLEFT"
}
ignorePositionRememberingFrames =
{
BonusRollFrame = true
}

The error originates from:
ElvUI_WindTools/Modules/Misc/MoveFrames.lua:405

It seems the function frame:SetPoint() receives relativeFrame as a string ("UIParent") instead of a valid frame object. This causes a type mismatch.


To Reproduce

Steps to reproduce the behavior:

  1. Log in with ElvUI and ElvUI_WindTools enabled.
  2. Press Shift + P to open the Collections window.
  3. Observe the Lua error.

Expected behavior

The CollectionsJournal frame should open normally without triggering any Lua errors. WindTools should reposition the frame without breaking the UI.


Screenshots

Not applicable – pure Lua error in the console.


Information

You can find these in [WindTools-Information]:

  • Addon Version: [e.g. 3.98]
  • ElvUI Version: [e.g. 14.65]
  • WoW Build: [e.g. 10.2.7 (55172)]

Additional context

The error occurs when MoveFrames.lua attempts to reposition the CollectionsJournal using SetPoint() with a string ("UIParent") as the relativeFrame. This can likely be fixed by ensuring that relativeFrame is resolved from _G before calling SetPoint().

Suggested Fix:

if type(relativeFrame) == "string" then
    relativeFrame = _G[relativeFrame]
end

Please advise if a temporary local fix is recommended or if a patch is in progress. Thank you for your work!
commented

it should be fixed in latest version