Closed Dajova closed 7 months ago
r640 errors on Wrath Classic with
4x Raven/Main.lua:188: attempt to call upvalue 'GetAuraDataByIndex' (a nil value)
[string "@Raven/Main.lua"]:188: in function <Raven/Main.lua:186>
[string "@Raven/Main.lua"]:468: in function `AddTrackers'
[string "@Raven/Main.lua"]:1924: in function `UpdateTrackers'
[string "@Raven/Main.lua"]:1288: in function `Update'
[string "@Raven/Main.lua"]:948: in function <Raven/Main.lua:944>
[string "@Raven/Main.lua"]:979: in function `?'
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:109: in function <...Ons/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:109>
[string "=[C]"]: ?
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:19: in function <...Ons/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function `Fire'
[string "@Ace3/AceEvent-3.0-4/AceEvent-3.0.lua"]:120: in function <Ace3/AceEvent-3.0/AceEvent-3.0.lua:119>
Locals:
unitToken = "player"
index = 1
filter = "HELPFUL|PLAYER"
(*temporary) = nil
(*temporary) = nil
(*temporary) = "player"
(*temporary) = 1
(*temporary) = "HELPFUL|PLAYER"
(*temporary) = "attempt to call upvalue 'GetAuraDataByIndex' (a nil value)"
MOD = <table> {
CheckTalent = <function> defined @Raven/Conditions.lua:325
testOrder = <table> {
}
HexColor = <function> defined @Raven/Profile.lua:43
UpdateInCombatBar = <function> defined @Raven/Cancel.lua:66
modules = <table> {
}
Nest_SetShine = <function> defined @Raven/Nest.lua:1303
GetValueFormat = <function> defined @Raven/Values.lua:833
ReleaseBarGroup = <function> defined @Raven/Bars.lua:723
CopyTable = <function> defined @Raven/Profile.lua:61
ResetColorDefault = <function> defined @Raven/Profile.lua:480
Nest_SetBarGroupLock = <function> defined @Raven/Nest.lua:973
Nest_FormatTime = <function> defined @Raven/Nest.lua:1873
SetInCombatBar = <function> defined @Raven/Cancel.lua:203
LocalSpellNames = <table> {
}
GetExpireColor = <function> defined @Raven/Profile.lua:697
UpdateInternalCooldowns = <function> defined @Raven/Main.lua:2145
SetExpireColor = <function> defined @Raven/Profile.lua:685
DefaultProfile = <table> {
}
ResetColorDefaults = <function> defined @Raven/Profile.lua:499
RemoveMatchingTrackers = <function> defined @Raven/Main.lua:425
Nest_CreateBar = <function> defined @Raven/Nest.lua:1074
CheckSpec = <function> defined @Raven/Conditions.lua:380
SetEnabledState = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:420
FinalizeBars = <function> defined @Raven/Bars.lua:161
mountSpells = <table> {
}
Nest_SetLabelColor = <function> defined @Raven/Nest.lua:1279
LoadCustomBars = <function> defined @Raven/Bars.lua:528
Nest_DeleteAllBars = <function> defined @Raven/Nest.lua:1243
Nest_AdjustColor = <function> defined @Raven/Nest.lua:1344
UpdateTrackers = <function> defined @Raven/Main.lua:1896
ldbi = <table> {
}
Nest_RegisterCallbacks = <function> defined @Raven/Nest.lua:683
UnregisterAllEvents = <function> defined @Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:164
InitializeBarGroup = <function> defined @Raven/Bars.lua:494
Nest_SetBarGroupBorder = <function> defined @Raven/Nest.lua:898
Nest_GetBarGroups = <function> defined @Raven/Nest.lua:796
RemoveTrackers = <function> defined @Raven/Main.lua:410
OptionsPanel = <function> defined @Raven/Main.lua:1131
Nest_SetBarGroupBackdrop = <function> defined @Raven/Nest.lua:906
DetectInternalCooldown = <function> defined @Raven/Main.lua:2127
Nest_SetColors = <function> defined @Raven/Nest.lua:1262
isVanilla = false
InitializeSpellIDs = <function> defined @Raven/Profile.lua:141
GetName = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:275
InitializeBuffTooltip = <function> defined @Raven/Main.lua:1471
name = "Raven"
ColorPalette = <table> {
}
SetConditionDefaults = <function> defined @Raven/Conditions.lua:852
Nest_SetAlpha = <function> defined @Raven/Nest.lua:1294
SaveBarGroupSettings = <function> defined @Raven/Bars.lua:525
Print = <function> defined @Ace3/AceConsole-3.0/AceConsole-3.0.lua:50
RegisterCooldownDefault = <function> defined @Raven/Profile.lua:410
Nest_SetTimeColor = <function> defined @Raven/Nest.lua:1284
Nest_DeleteBar = <function> defined @Raven/Nest.lua:1179
ExpansionIsOrBelow = <function> def
GetAuraDataByIndex does not exist as an API on Wrath
10.2.5 and the Classic (Era/Wrath) clients have diverged for what namespaces are available. So there's a couple solutions to this, neither is too clean.
-- Functions for reading Auras
local function GetAuraData(unitToken, index, filter)
if C_UnitAuras and C_UnitAuras.GetAuraDataByIndex then
return AuraUtil.UnpackAuraData(C_UnitAuras.GetAuraDataByIndex(unitToken, index, filter))
else
return UnitAura(unitToken, index, filter)
end
end
local GetAuraDataByIndex, UnpackAuraData
if C_UnitAuras and C_UnitAuras.GetAuraDataByIndex then
GetAuraDataByIndex = C_UnitAuras.GetAuraDataByIndex
else
GetAuraDataByIndex = function(unit, index, filter)
return {UnitAura(unit,index,filter)}
end
end
if AuraUtil and AuraUtil.UnpackAuraData then
UnpackAuraData = AuraUtil.UnpackAuraData
else
UnpackAuraData = function(aura)
return unpack(aura)
end
end
Amendment to solution 1 above. The changes are correct but GetAuraData can't be a local function in Main.lua and also called in Cancel.lua
So it has to be made a method
-- Functions for reading Auras
function MOD:GetAuraData(unitToken, index, filter)
if C_UnitAuras and C_UnitAuras.GetAuraDataByIndex then
return AuraUtil.UnpackAuraData(C_UnitAuras.GetAuraDataByIndex(unitToken, index, filter))
else
return UnitAura(unitToken, index, filter)
end
end
Then all the other references to GetAuraData
also need to be changed to MOD:GetAuradata
.. that's one sloppy update .. r640 😝
Ok.. since this got fairly long. Fixes for r640 in a list.
Remove Main.lua#L37 Main.lua#L38
Change Main.lua#L186 to
function MOD:GetAuraData(unitToken, index, filter)
if C_UnitAuras and C_UnitAuras.GetAuraDataByIndex and AuraUtil.UnpackAuraData then
return AuraUtil.UnpackAuraData(C_UnitAuras.GetAuraDataByIndex(unitToken, index, filter))
else
return UnitAura(unitToken, index, filter)
end
end
Replace all occurrences of = GetAuraData(
with = MOD:GetAuraData(
(7 replacements)
Fix the typo in Cancel.lua#L123 by changing the line to
local auraList = MOD:CheckAura("player", b.aura_id, true) -- CheckAura, not CheckAuras
and that should return Raven to a working condition.
@Dajova Thanks for the report!
@Road-block Thanks for the excellent fixes! They'll be rolling out shortly.
Doesnt display anything since latest update (r640). Reverting to r639 fixes it.