idTip Community Fork

idTip Community Fork

26.7k Downloads

Error when comparing gear.

nikkisaurus opened this issue ยท 3 comments

commented

I get the following error when comparing gear (holding shift while hovering over a piece of gear):


> 11x Interface/AddOns/idTip/idTip.lua:330: attempt to call method 'GetItem' (a nil value)
> [string "@Interface/AddOns/idTip/idTip.lua"]:330: in function `func'
> [string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:27: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:22>
> [string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:37: in function <Interface/SharedXML/Tooltip/TooltipDataHandler.lua:33>
> [string "=(tail call)"]: ?
> [string "@Interface/SharedXML/Tooltip/TooltipDataHandler.lua"]:145: in function `ProcessInfo'
> [string "@Interface/SharedXML/Tooltip/TooltipComparisonManager.lua"]:246: in function `SetItemTooltip'
> [string "@Interface/SharedXML/Tooltip/TooltipComparisonManager.lua"]:166: in function `RefreshItems'
> [string "@Interface/SharedXML/Tooltip/TooltipComparisonManager.lua"]:157: in function `CompareItem'
> [string "@Interface/FrameXML/GameTooltip.lua"]:516: in function `GameTooltip_ShowCompareItem'
> [string "@Interface/FrameXML/ItemRef.lua"]:713: in function <Interface/FrameXML/ItemRef.lua:706>
> 
> Locals:
> self = ItemRefShoppingTooltip1 {
>  0 = <userdata>
>  SetQuestLogRewardSpell = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetQuestPartyProgress = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  ProcessLineData = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:166
>  SetPvpTalent = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetExistingSocketGem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetHyperlink = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetUnit = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetAzeriteEssence = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetVoidDepositItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetVoidWithdrawalItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetInfoBackdropStyle = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:200
>  SetSocketGem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetLootCurrency = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetSlottedKeystone = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetItemInteractionItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetLootItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetOwnedItemByID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetQuestLogSpecialItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetRecipeReagentItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetBuybackItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetWeeklyReward = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetMerchantItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetPvpBrawl = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  BottomOverlay = Texture {
>  }
>  SetSpellByID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  hasMoney = 1
>  SetSocketedRelic = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  ProcessInfo = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:107
>  ProcessLines = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:156
>  NineSlice = Frame {
>  }
>  SetInventoryItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  shownMoneyFrames = 1
>  numMoneyFrames = 1
>  SetLootRollItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  info = <table> {
>  }
>  updateTooltipTimer = 0.200000
>  SetUnitDebuffByAuraInstanceID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetBagItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetPossession = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetAction = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetUnitDebuff = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  TextRight1 = ItemRefShoppingTooltip1TextRight1 {
>  }
>  SetInventoryItemByID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetUnitBuff = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetCurrencyByID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetAchievementByID = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetMerchantCostItem = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetQuestLogCurrency = <function> defined @Interface/SharedXML/Tooltip/TooltipDataHandler.lua:306
>  SetSpellBookItem = <function> define

I just added the line if not self or not self.GetItem then return end to at least be able to compare, but I'm not sure why GetItem is nil. Dumping GameTooltip.GetItem returns a function, so I don't think it's been removed or renamed.

commented

Should be resolved in ae20b2f

commented

I now also include the item ID and iconID on the shopping tooltips (shift compare tooltips), as far as I can tell we can't get a hyperlink to the item just based on it's GUID so we can't provide the bonus IDs and other information idTip normally provides :(

commented

I figured it out, resolved in last commit