ElvUI Mythic+ Datatext

ElvUI Mythic+ Datatext

36.1k Downloads

Error: "attempt to index field '?' (a nil value)" on mouseover

Closed this issue · 3 comments

commented

I'm guessing this error may be thrown because there is no active season at this moment. When this is the case, this should be gracefully handled; perhaps by displaying "no active season" when clicked.

10x ...lvUI_MythicPlusDatatext/ElvUI_MythicPlusDatatext.lua:208: attempt to index field '?' (a nil value)
[string "@ElvUI_MythicPlusDatatext/ElvUI_MythicPlusDatatext.lua"]:208: in function `func'
[string "@ElvUI/Core/Modules/DataTexts/DataTexts.lua"]:94: in function <...ceElvUI/Core/Modules/DataTexts/DataTexts.lua:84>

Locals:
self = Above Left Chat_DataText3 {
MouseEnters =

{
}
lastUpdate = 2.596000
name = "Mythic+"
PixelSnapDisabled = true
text = FontString {
}
db =
{
}
battlePanel = false
parentName = "Above Left Chat"
MouseLeaves =
{
}
parent = ElvUI_DTPanel0 {
}
icon = Texture {
}
pointIndex = 3
}
keystoneId = nil
keystoneLevel = nil
currentAffixes =
{
}
currentScore = 2642
color =
{
b = 0
g = 0.501961
r = 1
}
(*temporary) = DataTextTooltip {
updateTooltipTimer = 0.200000
StatusBar = DataTextTooltipStatusBar {
}
TextRight1 = DataTextTooltipTextRight1 {
}
supportsDataRefresh = true
textRight1Font = "GameTooltipHeaderText"
BottomOverlay = Texture {
}
NineSlice = Frame {
}
textLeft1Font = "GameTooltipHeaderText"
textRight2Font = "GameTooltipText"
TopOverlay = Texture {
}
layoutType = "TooltipDefaultLayout"
TextLeft1 = DataTextTooltipTextLeft1 {
}
textLeft2Font = "GameTooltipText"
TextRight2 = DataTextTooltipTextRight2 {
}
TextLeft2 = DataTextTooltipTextLeft2 {
}
}
(*temporary) = "Affixes"
(*temporary) = "%s, %s, %s"
(*temporary) =
{
1 = "Overflowing"
2 = "Skittish"
4 = "Necrotic"
8 = "Sanguine"
16 = "Infested"
124 = "Storming"
9 = "Tyrannical"
132 = "Thundering"
136 = "Incorporeal"
5 = "Teeming"
10 = "Fortified"
137 = "Shielding"
135 = "Afflicted"
128 = "Tormented"
11 = "Bursting"
131 = "Shrouded"
3 = "Volcanic"
6 = "Raging"
12 = "Grievous"
123 = "Spiteful"
130 = "Encrypted"
129 = "Infernal"
13 = "Explosive"
134 = "Entangling"
122 = "Inspiring"
7 = "Bolstering"
14 = "Quaking"
121 = "Prideful"
120 = "Awakened"
119 = "Beguiling"
117 = "Reaping"
}
(*temporary) = nil
(*temporary) = 1
(*temporary) = 0.501961
(*temporary) = 0
(*temporary) = "DataTextTooltipTextRight3"
(*temporary) = DataTextTooltipTextRight3 {
}
(*temporary) = "DataTextTooltipTextRight3"
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"
DT =
{
modules =
{
}
DataTextList =
{
}
QuickList =
{
}
tooltip = DataTextTooltip {
}
PanelPool =
{
}
defaultModuleState = true
hooks =
{
}
UnitEvents =
{
}
LoadedInfo =
{
}
db =
{
}
enabledState = true
RegisteredPanels =
{
}
SelectedDatatext = Above Left Chat_DataText3 {
}
ClassTalentsID = 17591047
baseName = "ElvUI"
CurrencyList =
{
}
SystemInfo =
{
}
defaultModuleLibraries =
{
}
FontStrings =
{
}
ForceHideBGStats = false
Initialized = true
SPECIALIZATION_CACHE =
{
}
AssignedDatatexts =
{
}
name = "ElvUI_DataTexts"
orderedModules =
{
}
RegisteredDataTexts =
{
}
clientFullName =
{
}
moduleName = "DataTexts"
}
L =
{
Tyrannical = "Tyrannical"
Abbreviate instance name in the datatext. = "Abbreviate instance name in the datatext."
RISE = "RISE"
TOTT = "TOTT"
BRH = "BRH"
Quaking = "Quaking"
Highlight your key in the tooltip for the datatext. = "Highlight your key in the tooltip for the datatext."
Necrotic = "Necrotic"
Left-Click = "Left-Click"
Affixes = "Affixes"
Abbreviate Instance Name = "Abbreviate Instance Name"
Spiteful = "Spiteful"
Encrypted = "Encrypted"
DHT = "DHT"
Mythic+ Key = "Mythic+ Key"
Keystone = "Keystone"
Skittish = "Skittish"
AD = "AD"
Volcanic = "Volcanic"
Season %d = "Season %d"
Key = "Key"
Bursting = "Bursting"
Choose how to label the datatext. = "Choose how to label the datatext."
Mythic+ Datatext = "Mythic+ Datatext"
Explosive = "Explosive"
Infested = "Infested"
Include Level = "Include Level"
Highlight Your Key = "Highlight Your Key"
Grievous = "Grievous"
Fortified = "Fortified"
Toggle Mythic+ Page = "Toggle Mythic+ Page"
Mythic+ Rating = "Mythic+ Rating"
Color to highlight your key.

commented

Good find. I have added logic to detect when there's no M+ season active. It's in version 1.7.5 released to Curse today.

commented

Thanks! You do have a typo in a variable declaration, lines 191 and 279: curerntSeason.

commented

Fixing the typo seems to reintroduce the bug. I reverted to the previous version.