View Single Post
11-18-22, 07:26 PM   #1
briskman3000
A Flamescale Wyrmkin
 
briskman3000's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2009
Posts: 108
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
__________________
My Addons: Convert Ratings Honor Track
  Reply With Quote