I have a chat copy addon that does the same thing as an old addon "Ccopy" --
Right/Left click the "*" before a chat line make the line show in the editbox, so it can be copied.
The addon works, but keep raising the error message:
"Ccopy has been blocked by an action only avaliable by the blizzard UI. You can disable this addon and reload the UI"
everytime when i enter and leave the new HUD Edit Mode.
Here's the Taint log:
Code:
10/27 01:07:54.868 (for generator)()
10/27 01:07:54.868 An action was blocked because of taint from CCopy - ClearTarget()
10/27 01:07:54.868 Interface/FrameXML/EditModeManager.lua:1496 Frame:ResetTargetAndFocus()
10/27 01:07:54.868 Interface/FrameXML/EditModeManager.lua:1531 Frame:RefreshTargetAndFocus()
10/27 01:07:54.868 Interface/FrameXML/EditModeManager.lua:1462 Frame:OnEditModeEnter()
10/27 01:07:54.868 Interface/FrameXML/EditModeManager.lua:171 EditModeManagerFrame:EnterEditMode()
10/27 01:07:54.868 Interface/FrameXML/EditModeManager.lua:193
10/27 01:07:54.868 EditModeManagerFrame:Show()
10/27 01:07:54.868 Interface/FrameXML/UIParent.lua:2844 Frame:SetUIPanel()
10/27 01:07:54.868 Interface/FrameXML/UIParent.lua:2648 Frame:ShowUIPanel()
10/27 01:07:54.868 Interface/FrameXML/UIParent.lua:2552
10/27 01:07:54.868 Frame:SetAttribute()
10/27 01:07:54.868 Interface/FrameXML/UIParent.lua:3150 ShowUIPanel()
10/27 01:07:54.868 GameMenuButtonEditMode:ameMenuFrame.xml:94_OnClick()
10/27 01:08:04.800 Global variable OBJECTIVE_TRACKER_UPDATE_REASON tainted by CCopy - Interface/AddOns/Blizzard_ObjectiveTracker/Blizzard_ObjectiveTracker.lua:1408 ObjectiveTracker_Update()
10/27 01:08:04.800 Interface/FrameXML/EditModeSystemTemplates.lua:1787 ObjectiveTrackerFrame:ApplySystemAnchor()
10/27 01:08:04.800 Interface/FrameXML/EditModeSystemTemplates.lua:195 ObjectiveTrackerFrame:UpdateSystem()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:1021 EditModeManagerFrame:UpdateSystem()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:1014 EditModeManagerFrame:UpdateSystems()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:888 EditModeManagerFrame:UpdateLayoutInfo()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:1137 EditModeManagerFrame:RevertAllChanges()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:183 EditModeManagerFrame:ExitEditMode()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:205
10/27 01:08:04.800 EditModeManagerFrame:Hide()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2828 Frame:SetUIPanel()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2859 Frame:MoveUIPanel()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2890 Frame:HideUIPanel()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2556
10/27 01:08:04.800 Frame:SetAttribute()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:3170 HideUIPanel()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:122 onCloseCallback()
10/27 01:08:04.800 Interface/SharedXML/SharedUIPanelTemplates.lua:127
10/27 01:08:04.800 Execution tainted by CCopy while reading OBJECTIVE_TRACKER_UPDATE_REASON - Interface/AddOns/Blizzard_ObjectiveTracker/Blizzard_ObjectiveTracker.lua:1431 ObjectiveTracker_Update()
10/27 01:08:04.800 Interface/FrameXML/EditModeSystemTemplates.lua:1787 ObjectiveTrackerFrame:ApplySystemAnchor()
10/27 01:08:04.800 Interface/FrameXML/EditModeSystemTemplates.lua:195 ObjectiveTrackerFrame:UpdateSystem()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:1021 EditModeManagerFrame:UpdateSystem()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:1014 EditModeManagerFrame:UpdateSystems()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:888 EditModeManagerFrame:UpdateLayoutInfo()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:1137 EditModeManagerFrame:RevertAllChanges()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:183 EditModeManagerFrame:ExitEditMode()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:205
10/27 01:08:04.800 EditModeManagerFrame:Hide()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2828 Frame:SetUIPanel()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2859 Frame:MoveUIPanel()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2890 Frame:HideUIPanel()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2556
10/27 01:08:04.800 Frame:SetAttribute()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:3170 HideUIPanel()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:122 onCloseCallback()
10/27 01:08:04.800 Interface/SharedXML/SharedUIPanelTemplates.lua:127
10/27 01:08:04.800 CloseDropDownMenus()
10/27 01:08:04.800 An action was blocked because of taint from CCopy - ClearTarget()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:1496 Frame:ResetTargetAndFocus()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:1479 Frame:OnEditModeExit()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:185 EditModeManagerFrame:ExitEditMode()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:205
10/27 01:08:04.800 EditModeManagerFrame:Hide()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2828 Frame:SetUIPanel()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2859 Frame:MoveUIPanel()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2890 Frame:HideUIPanel()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:2556
10/27 01:08:04.800 Frame:SetAttribute()
10/27 01:08:04.800 Interface/FrameXML/UIParent.lua:3170 HideUIPanel()
10/27 01:08:04.800 Interface/FrameXML/EditModeManager.lua:122 onCloseCallback()
10/27 01:08:04.800 Interface/SharedXML/SharedUIPanelTemplates.lua:127
And here's the lua code:
Code:
local rules = {
{ pat = "|HChatCopy|h.-|h|r", repl = "" },
{ pat = "|c%x%x%x%x%x%x%x%x(.-)|r", repl = "%1" },
--left
{ pat = "|Hplayer:.-|h.-|h" .. ":", repl = "", button = "LeftButton" },
{ pat = "|Hplayer:.-|h.-|h" .. ":", repl = "", button = "LeftButton" },
{ pat = "|HBNplayer:.-|h.-|h" .. ":", repl = "", button = "LeftButton" },
--right
{ pat = "|Hchannel:.-|h(.-)|h", repl = "%1", button = "RightButton" },
{ pat = "|Hplayer:.-|h(.-)|h", repl = "%1", button = "RightButton" },
{ pat = "|HBNplayer:.-|h(.-)|h", repl = "%1", button = "RightButton" },
{ pat = "|H.-|h(.-)|h", repl = "%1" },
{ pat = "|TInterface\\TargetingFrame\\UI%-RaidTargetingIcon_(%d):0|t", repl = "{rt%1}" },
{ pat = "|T.-|t", repl = "" },
{ pat = "^%s+", repl = "" },
}
local function clearMessage(msg, button)
for _, rule in ipairs(rules) do
if (not rule.button or rule.button == button) then
msg = msg:gsub(rule.pat, rule.repl)
end
end
return msg
end
local function showMessage(msg, button)
local editBox = ChatEdit_ChooseBoxForSend()
msg = clearMessage(msg, button)
ChatEdit_ActivateChat(editBox)
editBox:SetText(editBox:GetText() .. msg)
editBox:HighlightText()
end
local function getMessage(...)
local object
for i = 1, select("#", ...) do
object = select(i, ...)
if (object:IsObjectType("FontString") and MouseIsOver(object)) then
return object:GetText()
end
end
return ""
end
local _SetItemRef = SetItemRef
SetItemRef = function(link, text, button, chatFrame)
if (link:sub(1,8) == "ChatCopy") then
local msg = getMessage(chatFrame.FontStringContainer:GetRegions())
return showMessage(msg, button)
end
_SetItemRef(link, text, button, chatFrame)
end
local function AddMessage(self, text, ...)
if (type(text) ~= "string") then
text = tostring(text)
end
text = format("|HChatCopy|h%s|h|r %s", " *", text)
self.OrigAddMessage(self, text, ...)
end
local chatFrame
for i = 1, NUM_CHAT_WINDOWS do
chatFrame = _G["ChatFrame" .. i]
if (chatFrame) then
chatFrame.OrigAddMessage = chatFrame.AddMessage
chatFrame.AddMessage = AddMessage
end
end
Is there anything i can do to fix it? Or how does it happen? D: