diff --git a/ElvUI_SLE/modules/chat/chat.lua b/ElvUI_SLE/modules/chat/chat.lua
index 8c8adee..8a18a89 100644
--- a/ElvUI_SLE/modules/chat/chat.lua
+++ b/ElvUI_SLE/modules/chat/chat.lua
@@ -29,7 +29,7 @@ function CH:PositionChat(override)
LeftChatPanel:Size(E.db.chat.panelWidth, E.db.chat.panelHeight)
if E.private.chat.enable ~= true then return end
-
+
local chat, chatbg, tab, id, point, button, isDocked, chatFound
for _, frameName in pairs(CHAT_FRAMES) do
chat = _G[frameName]
@@ -47,21 +47,21 @@ function CH:PositionChat(override)
else
self.RightChatWindowID = nil
end
-
+
CreatedFrames = id
for i=1, CreatedFrames do
local BASE_OFFSET = 60
if E.PixelMode then
BASE_OFFSET = BASE_OFFSET - 3
- end
+ end
chat = _G[format("ChatFrame%d", i)]
chatbg = format("ChatFrame%dBackground", i)
button = _G[format("ButtonCF%d", i)]
id = chat:GetID()
tab = _G[format("ChatFrame%sTab", i)]
point = GetChatWindowSavedPosition(id)
- _, _, _, _, _, _, _, _, isDocked, _ = GetChatWindowInfo(id)
+ isDocked = chat.isDocked
if id > NUM_CHAT_WINDOWS then
if point == nil then
@@ -73,11 +73,9 @@ function CH:PositionChat(override)
isDocked = false
end
end
-
- if not chat.isInitialized then return end
+
if point == "BOTTOMRIGHT" and chat:IsShown() and not (id > NUM_CHAT_WINDOWS) and id == self.RightChatWindowID then
-
chat:ClearAllPoints()
if E.db.datatexts.rightChatPanel then
chat:Point("BOTTOMRIGHT", RightChatDataPanel, "TOPRIGHT", 10, 3) -- <<< Changed
@@ -92,43 +90,49 @@ function CH:PositionChat(override)
else
chat:Size(E.db.chat.panelWidth - 10, (E.db.chat.panelHeight - 27) - CombatLogQuickButtonFrame_Custom:GetHeight())
end
-
- FCF_SavePositionAndDimensions(chat)
-
- tab:SetParent(RightChatPanel)
- chat:SetParent(tab)
-
- if E.db.chat.panelBackdrop == 'HIDEBOTH' or E.db.chat.panelBackdrop == 'LEFT' then
- CH:SetupChatTabs(tab, true)
- else
- CH:SetupChatTabs(tab, false)
- end
- elseif not isDocked and chat:IsShown() then
- tab:SetParent(E.UIParent)
- chat:SetParent(E.UIParent)
-
- CH:SetupChatTabs(tab, true)
- else
- if id ~= 2 and not (id > NUM_CHAT_WINDOWS) then
- chat:ClearAllPoints()
- if E.db.datatexts.leftChatPanel then
- chat:Point("BOTTOMLEFT", LeftChatToggleButton, "TOPLEFT", 5, 3)
+
+ FCF_SavePositionAndDimensions(chat)
+
+ tab:SetParent(RightChatPanel)
+ chat:SetParent(tab)
+
+ if chat:IsMovable() then
+ chat:SetUserPlaced(true)
+ end
+ if E.db.chat.panelBackdrop == 'HIDEBOTH' or E.db.chat.panelBackdrop == 'LEFT' then
+ CH:SetupChatTabs(tab, true)
else
- BASE_OFFSET = BASE_OFFSET - 24
- chat:Point("BOTTOMLEFT", LeftChatToggleButton, "BOTTOMLEFT", 5, 1)
+ CH:SetupChatTabs(tab, false)
end
- chat:Size(E.db.chat.panelWidth - 6, (E.db.chat.panelHeight - 27)) -- <<< Changed
- FCF_SavePositionAndDimensions(chat)
- end
- chat:SetParent(LeftChatPanel)
- tab:SetParent(GeneralDockManager)
-
- if E.db.chat.panelBackdrop == 'HIDEBOTH' or E.db.chat.panelBackdrop == 'RIGHT' then
+ elseif not isDocked and chat:IsShown() then
+ tab:SetParent(E.UIParent)
+ chat:SetParent(E.UIParent)
+
CH:SetupChatTabs(tab, true)
else
- CH:SetupChatTabs(tab, false)
- end
- end
+ if id ~= 2 and not (id > NUM_CHAT_WINDOWS) then
+ chat:ClearAllPoints()
+ if E.db.datatexts.leftChatPanel then
+ chat:Point("BOTTOMLEFT", LeftChatToggleButton, "TOPLEFT", 5, 3)
+ else
+ BASE_OFFSET = BASE_OFFSET - 24
+ chat:Point("BOTTOMLEFT", LeftChatToggleButton, "BOTTOMLEFT", 5, 1)
+ end
+ chat:Size(E.db.chat.panelWidth - 6, (E.db.chat.panelHeight - 27)) -- <<< Changed
+ FCF_SavePositionAndDimensions(chat)
+ end
+ chat:SetParent(LeftChatPanel)
+ tab:SetParent(GeneralDockManager)
+ if chat:IsMovable() then
+ chat:SetUserPlaced(true)
+ end
+
+ if E.db.chat.panelBackdrop == 'HIDEBOTH' or E.db.chat.panelBackdrop == 'RIGHT' then
+ CH:SetupChatTabs(tab, true)
+ else
+ CH:SetupChatTabs(tab, false)
+ end
+ end
end
self.initialMove = true;