[BUG] Nonstop LUA errors when doing The Ember Court scenario 6.4.0
dancoto opened this issue ยท 2 comments
Doing the Revendreth Covenant Scenario "The Ember Court" is throwing the following error Nonstop, If I remove NDui temporarily, the error does not show up. Using version 6.4.0 on Windows 10.
Message: ...Modules\Skins\Blizzard\FrameXML\ObjectiveTracker.lua:146: attempt to index field 'CurrencyContainer' (a nil value)
Time: Wed Dec 2 14:46:08 2020
Count: 1
Stack: ...Modules\Skins\Blizzard\FrameXML\ObjectiveTracker.lua:146: attempt to index field 'CurrencyContainer' (a nil value)
[string "@Interface\AddOns\NDui\Modules\Skins\Blizzard\FrameXML\ObjectiveTracker.lua"]:146: in function <...Modules\Skins\Blizzard\FrameXML\ObjectiveTracker.lua:138>
[string "=[C]"]: in function `Update'
[string "@Interface\AddOns\Blizzard_ObjectiveTracker\Blizzard_ObjectiveTracker.lua"]:1370: in function <...zzard_ObjectiveTracker\Blizzard_ObjectiveTracker.lua:1323>
[string "=[C]"]: in function `ObjectiveTracker_Update'
[string "@Interface\AddOns\Blizzard_ObjectiveTracker\Blizzard_ObjectiveTracker.lua"]:898: in function <...zzard_ObjectiveTracker\Blizzard_ObjectiveTracker.lua:833>
Locals: widgetContainer = <unnamed> {
IsLayoutFrame = <function> defined @Interface\SharedXML\LayoutFrame.lua:36
horizontalRelativePoint = "RIGHT"
verticalAnchorYOffset = 0
MarkDirty = <function> defined @Interface\SharedXML\LayoutFrame.lua:90
timerWidgets = <table> {
}
UnregisterTimerWidget = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:247
horizontalAnchorXOffset = 2
OnCleaned = <function> defined @Interface\SharedXML\LayoutFrame.lua:114
verticalAnchorPoint = "TOPRIGHT"
GetAdditionalRegions = <function> defined @Interface\SharedXML\LayoutFrame.lua:76
OnShow = <function> defined @Interface\SharedXML\LayoutFrame.lua:32
UpdateWidgetLayout = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:471
dirty = false
dirtyLayout = false
widgetSetLayoutDirection = 0
layoutFunc = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:39
numWidgetsShowing = 1
MarkAllWidgetsForRemoval = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:270
GetLayoutChildren = <function> defined @Interface\SharedXML\LayoutFrame.lua:64
horizontalAnchorPoint = "LEFT"
IsDirty = <function> defined @Interface\SharedXML\LayoutFrame.lua:110
AnimateOutAllMarkedWidgets = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:277
horizontalRowContainerPool = <table> {
}
ProcessAllWidgets = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:442
AddLayoutChildren = <function> defined @Interface\SharedXML\LayoutFrame.lua:48
numTimers = 0
widgetPools = <table> {
}
MarkClean = <function> defined @Interface\SharedXML\LayoutFrame.lua:105
0 = <userdata>
verticalRelativePoint = "TOPRIGHT"
CreateWidget = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:336
RegisterForWidgetSet = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:149
widgetSetID = 459
GatherWidgetsByWidgetTag = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:261
RegisterTimerWidget = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:229
OnLoad = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:11
UnregisterForWidgetSet = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:194
Layout = <function> defined @Interface\SharedXML\LayoutFrame.lua:308
RemoveAllWidgets = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:286
OnEvent = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:21
ProcessWidget = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:365
GetNumWidgetsShowing = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:467
OnUpdate = <function> defined @Interface\AddOns\Blizzard_UIWidgets\Blizzard_UIWidgetManager.lua:32
GetWidgetFromPools = <function> defined
I modified the ObjectiveTracker.lua file under NDui\Modules\Skins\Blizzard\FrameXML at line 145 and added in an IF condition below and seems to work but not sure if this would affect anything else
if widgetFrame.CurrencyContainer then
for i = 1, widgetFrame.CurrencyContainer:GetNumChildren() do
local bu = select(i, widgetFrame.CurrencyContainer:GetChildren())
if bu and bu.Icon and not bu.styled then
B.ReskinIcon(bu.Icon)
bu.styled = true
end
end
end