I have found an error with the UI when trying to save a layout when certain frames are “glued” or attached to other frames (where two frames are able to be moved together.) When attempting to save such you are met with a LUA error and unable to save, whichever frame is effected then looses functionality until a UI reload. This effects at the least: Raid frames, boss frames, arena frames, and party frames.
The work around I have found is to turn down the grid spacing, move each frame separately so they are not attached, and then make sure to leave a gap between each frame.
Because of this I believe the issue stems from an error with the implementation of the anchoring feature referencing a stale or bad value when the anchor of a frame is changed from the default top left anchor to reference another frame.
example of LUA errors
LUA error for raid frames
Message: Interface/FrameXML/EditModeSystemTemplates.lua:473: attempt to perform arithmetic on a nil value
Time: Thu Dec 1 10:54:37 2022
Count: 2
Stack: Interface/FrameXML/EditModeSystemTemplates.lua:473: attempt to perform arithmetic on a nil value
[string "@Interface/FrameXML/EditModeSystemTemplates.lua"]:473: in function `BreakFrameSnap'
[string "@Interface/FrameXML/EditModeSystemTemplates.lua"]:41: in function `PrepareForSave'
[string "@Interface/FrameXML/EditModeManager.lua"]:1118: in function `PrepareSystemsForSave'
[string "@Interface/FrameXML/EditModeManager.lua"]:1123: in function `SaveLayouts'
[string "@Interface/FrameXML/EditModeManager.lua"]:1132: in function
[string "=(tail call)"]: ?
[string "@Interface/SharedXML/SharedUIPanelTemplates.lua"]:1198: in function
Locals: self = CompactRaidFrameContainer {
0 =
GetUnitFrame = defined @Interface/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrameContainer.lua:315
UpdateMagnetismRegistration = defined @Interface/FrameXML/EditModeSystemTemplates.lua:521
GetSnapOffsets = defined @Interface/FrameXML/EditModeSystemTemplates.lua:421
systemInfo = {
}
IsFrameAnchoredToMe = defined @Interface/FrameXML/EditModeSystemTemplates.lua:484
ApplyToFrames = defined @Interface/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrameContainer.lua:115
alwaysUseTopLeftAnchor = true
breakSnappedFramesOnSave = true
SetFlowSortFunction = defined @Interface/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrameContainer.lua:89
SetBorderShown = defined @Interface/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrameContainer.lua:110
UseCombinedGroups = defined @Interface/FrameXML/EditModeSystemTemplates.lua:877
ResetToDefaultPosition = defined @Interface/FrameXML/EditModeSystemTemplates.lua:158
GetScaledSelectionSides = defined @Interface/FrameXML/EditModeSystemTemplates.lua:365
SelectSystem = defined @Interface/FrameXML/EditModeSystemTemplates.lua:549
GetFrameMagneticEligibility = defined @Interface/FrameXML/EditModeSystemTemplates.lua:504
UpdateSystemSettingUseLargerFrame = defined @Interface/FrameXML/EditModeSystemTemplates.lua:986
AddLayoutChildren = defined @Interface/SharedXML/LayoutFrame.lua:48
IsBelowFrame = defined @Interface/FrameXML/EditModeSystemTemplates.lua:332
SetScaleBase = defined =[C]:-1
HasActiveChanges = defined @Interface/FrameXML/EditModeSystemTemplates.lua:254
AddFlaggedUnits = defined @Interface/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrameContainer.lua:274
flowFilterFunc = defined @Interface/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrameManager.lua:523
DoesSettingDisplayValueEqual = defined @Interface/FrameXML/EditModeSystemTemplates.lua:278
OnLoad = defined @Interface/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrameContainer.lua:14
UpdateDisplayInfoOptions = defined @Interface/FrameXML/EditModeSystemTemplates.lua:289
settingDisplayInfoMap =
{
}
GetSettingValueBool = defined @Interface/FrameXML/EditModeSystemTemplates.lua:269
TryUpdate = defined @Interface/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrameContainer.lua:126
IsLayoutFrame = defined @Interface/SharedXML/LayoutFrame.lua:36
DoesSettingValueEqual = defined @Interface/FrameXML/EditModeSystemTemplates.lua:273
MarkDirty = defined @Interface/SharedXML/LayoutFrame.lua:90
UpdateSelectionVerticalState = defined @Interface/FrameXML/EditModeSystemTemplates.lua:1101
AddUnitFrame = defined @Interface/AddOns/Blizzard_CompactRaidFrames/Blizzard_CompactRaidFrameContainer.lua:303
Add