This error appears not only by load time but it appears by logoff or quit game and i wasn't able quit the game. This error occures after patch 1.8. Error is in the file CharacterProfiler.lua in the function Profile_AddTalents, when talents are collected. Variable TalentFrame is nil.
You can avoid this error when you look at talents before you quit game (press key N).
You can make also following corrections into file CharacterProfiler.lua:
1. Delete row 813 with text "PanelTemplates_SetTab(TalentFrame, x);"
2. Replace every appearence of text "PanelTemplates_GetSelectedTab(TalentFrame)" by text "x" in function Profile_AddTalents ... of course without quotes
I add original code of function and code after correction
Function Profile_AddTalents with error:
Code:
function Profile_AddTalents()
WNE_Profile_Print_Method_Trace( "e", "Profile_AddTalents" );
local lCharProfile = WNE_CurrentCharacter;
local numTabs = GetNumTalentTabs();
local name, iconTexture, tier, column, rank, maxRank;
local numTalents;
local tabname, texture, points, fileName;
lCharProfile["Talents"] = {};
for x=1, numTabs do
PanelTemplates_SetTab(TalentFrame, x);
numTalents = GetNumTalents(PanelTemplates_GetSelectedTab(TalentFrame));
tabname, texture, points, fileName = GetTalentTabInfo(PanelTemplates_GetSelectedTab(TalentFrame));
lCharProfile["Talents"][tabname] = {};
lCharProfile["Talents"][tabname]["PointsSpent"] = points;
lCharProfile["Talents"][tabname]["Background"] = "Interface\\TalentFrame\\" .. fileName;
lCharProfile["Talents"][tabname]["Order"] = x;
for i=1, numTalents do
name, iconTexture, tier, column, rank, maxRank = GetTalentInfo(PanelTemplates_GetSelectedTab(TalentFrame), i);
if (rank > 0 or WNE_CharProfile_TALENTS_Full) then
lCharProfile["Talents"][tabname][name] = { };
lCharProfile["Talents"][tabname][name]["Rank"] = rank .. ":" .. maxRank;
lCharProfile["Talents"][tabname][name]["Location"] = tier .. ":" .. column;
lCharProfile["Talents"][tabname][name]["Texture"] = iconTexture;
end
if ( WNE_CharProfile_TALENTS_Full ) then
-- double check
if ( not lCharProfile["Talents"][tabname][name] ) then
lCharProfile["Talents"][tabname][name] = {};
end
ProfileHiddenTooltip:SetTalent(PanelTemplates_GetSelectedTab(TalentFrame), i)
lCharProfile["Talents"][tabname][name]["Tooltip"] = strTooltip();
end
end
end
WNE_Profile_Print_Method_Trace( "e", "Profile_AddTalents" );
end
Corrected function:
Code:
function Profile_AddTalents()
WNE_Profile_Print_Method_Trace( "e", "Profile_AddTalents" );
local lCharProfile = WNE_CurrentCharacter;
local numTabs = GetNumTalentTabs();
local name, iconTexture, tier, column, rank, maxRank;
local numTalents;
local tabname, texture, points, fileName;
lCharProfile["Talents"] = {};
for x=1, numTabs do
numTalents = GetNumTalents(x);
tabname, texture, points, fileName = GetTalentTabInfo(x);
lCharProfile["Talents"][tabname] = {};
lCharProfile["Talents"][tabname]["PointsSpent"] = points;
lCharProfile["Talents"][tabname]["Background"] = "Interface\\TalentFrame\\" .. fileName;
lCharProfile["Talents"][tabname]["Order"] = x;
for i=1, numTalents do
name, iconTexture, tier, column, rank, maxRank = GetTalentInfo(x, i);
if (rank > 0 or WNE_CharProfile_TALENTS_Full) then
lCharProfile["Talents"][tabname][name] = { };
lCharProfile["Talents"][tabname][name]["Rank"] = rank .. ":" .. maxRank;
lCharProfile["Talents"][tabname][name]["Location"] = tier .. ":" .. column;
lCharProfile["Talents"][tabname][name]["Texture"] = iconTexture;
end
if ( WNE_CharProfile_TALENTS_Full ) then
-- double check
if ( not lCharProfile["Talents"][tabname][name] ) then
lCharProfile["Talents"][tabname][name] = {};
end
ProfileHiddenTooltip:SetTalent(x, i)
lCharProfile["Talents"][tabname][name]["Tooltip"] = strTooltip();
end
end
end
WNE_Profile_Print_Method_Trace( "e", "Profile_AddTalents" );
end
This works fine for me.