Thanks for the reply Phanx! I think I made exactly the changes you posted but I still get exactly the same error, so I guess its something different going on here. I also disable all other addons.
Code:
13x LinkHover\LinkHover-1.6.lua:34: attempt to index local 'link' (a nil value)
LinkHover\LinkHover-1.6.lua:34: in function <LinkHover\LinkHover.lua:33>
.........
New code:
Lua Code:
local showLinkType = {
-- Normal tooltip things:
achievement = true,
enchant = true,
glyph = true,
item = true,
instancelock = true,
quest = true,
spell = true,
talent = true,
unit = true,
currency = true,
-- Special tooltip things:
battlepet = false,
battlePetAbil = false,
garrfollowerability = false,
garrfollower = false,
garrmission = false,
}
local function OnHyperlinkEnter(frame, link, text)
local normal = showLinkType[link:match("(%a+):%d+")]
if normal == true then
GameTooltip:SetOwner(ChatFrame1Tab, "ANCHOR_TOPLEFT", 20, 20)
GameTooltip:SetHyperlink(link)
GameTooltip:Show()
elseif normal == false then
-- Uses a special tooltip, just let the default function handle it.
SetItemRef(link, text, "LeftButton", frame)
end
end
local function OnHyperlinkLeave(frame, link, text)
local normal = showLinkType[link:match("(%a+):%d+")]
if normal == true then
GameTooltip:Hide()
elseif normal == false then
-- Uses a special tooltip, just let the default function handle it.
SetItemRef(link, text, "LeftButton", frame)
end
end
local function RegisterFrame(frame)
frame:SetScript("OnHyperlinkEnter", OnHyperlinkEnter)
frame:SetScript("OnHyperlinkLeave", OnHyperlinkLeave)
end
local f = CreateFrame("Frame")
f:RegisterEvent("PLAYER_LOGIN")
f:SetScript("OnEvent", function(self, event, name)
if event == "PLAYER_LOGIN" then
for i = 1, NUM_CHAT_WINDOWS do
RegisterFrame(_G["ChatFrame"..i])
end
end
if GuildBankMessageFrame then
RegisterFrame(GuildBankMessageFrame)
self:UnregisterAllEvents()
self:SetScript("OnEvent", nil)
RegisterFrame = nil
else
self:RegisterEvent("ADDON_LOADED")
end
end)