briskman3000 |
11-18-22 07:26 PM |
10.0.2, GetItem() and Comparison tooltips.
Greetings,
I am attempting to update my addon to work with the new tooltip system introduced with the latest patch. I was able to get it to mostly work by replacing all of the old hookscript lines with the new TooltipDataProcessor.AddTooltipPostCall function.
For the most part, this allows my code to run properly. The only issue that seems to remain is when an item comparison tooltip is on the screen, the code does not run and errors out. The error I am getting is stating that the GetItem() call is a nil value.
Code:
5x Interface/AddOns/ConvertRatings/ConvertRatings.lua:296: attempt to call method 'GetItem' (a nil value)
[string "@Interface/AddOns/ConvertRatings/ConvertRatings.lua"]:296: in function <Interface/AddOns/ConvertRatings/ConvertRatings.lua:228>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `securecallfunction'
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:60: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:55>
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:80: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:76>
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:116: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:106>
[string "=[C]"]: in function `SetAttribute'
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:141: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:134>
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:282: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:240>
[string "=[C]"]: in function `securecallfunction'
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:237: in function `ProcessInfo'
[string "@Interface/SharedXML/Tooltip/TooltipComparisonManager.lua"]:249: in function `SetItemTooltip'
...
[string "@Interface/SharedXML/Tooltip/TooltipDataRules.lua"]:161: in function `func'
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:49: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:44>
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:71: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:67>
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:135: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:134>
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:282: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:240>
[string "=[C]"]: in function `securecallfunction'
[string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:237: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:236>
[string "=(tail call)"]: ?
[string "@Interface/FrameXML/PaperDollFrame.lua"]:1738: in function `UpdateTooltip'
[string "@Interface/FrameXML/GameTooltip.lua"]:498: in function <Interface/FrameXML/GameTooltip.lua:491>
Locals:
self = ShoppingTooltip1 {
0 = <userdata>
SetQuestLogRewardSpell = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetQuestPartyProgress = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
ProcessLineData = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:303
SetPvpTalent = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetExistingSocketGem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetHyperlink = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetUnit = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetAzeriteEssence = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetVoidDepositItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetVoidWithdrawalItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetInfoBackdropStyle = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:338
SetSocketGem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetLootCurrency = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetSlottedKeystone = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetItemInteractionItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetLootItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetOwnedItemByID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetQuestLogSpecialItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetRecipeReagentItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetBuybackItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
hasMoney = 1
SetWeeklyReward = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetMerchantItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetPvpBrawl = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
shownMoneyFrames = 1
BottomOverlay = Texture {
}
SetSpellByID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
numMoneyFrames = 1
SetSocketedRelic = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
ProcessInfo = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:236
ProcessLines = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:293
NineSlice = Frame {
}
SetInventoryItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
info = <table> {
}
updateTooltipTimer = 0.200000
SetLootRollItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
InternalProcessInfo = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:240
SetPossession = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetUnitDebuffByAuraInstanceID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetBagItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
TextRight1 = ShoppingTooltip1TextRight1 {
}
SetAction = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetLineDataAttribute = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:232
SetAchievementByID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetInventoryItemByID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetQuestCurrency = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetCurrencyByID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetQuestLogCurrency = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:444
SetBagItemChild = <function> defined @
Link to full code
https://github.com/mynian/ConvertRat...ertRatings.lua
|