/ChatTabLocker
end |
-- Set up a hook to catch the creation of floating chat frames. |
self.hooks.FCF_OpenTemporaryWindow = FCF_OpenTemporaryWindow |
FCF_OpenTemporaryWindow = function(...) |
local frame = self.hooks.FCF_OpenTemporaryWindow(...) |
self:LockFrame(frame) |
return frame |
end |
hooksecurefunc('FCF_OpenTemporaryWindow', function() self:LockFrame(FCF_GetCurrentChatFrame()) end) |
-- Cleanup |
self:UnregisterEvent("ADDON_LOADED") |
self.hooks[tab] = {} |
self.hooks[tab].chatFrame = frame |
self.hooks[tab].OnDragStart = tab:GetScript("OnDragStart") |
if self.debug then self:print("Locking[" .. tab:GetName() .. "]") end |
tab:SetScript("OnDragStart", function(tab) |
local chatFrame = ChatTabLocker.hooks[tab].chatFrame |