Kiwi Item Info

Kiwi Item Info

41.5k Downloads

Incompatibilities with other addons :X

Spiricore opened this issue ยท 2 comments

commented

Hi there, thanks for this addon! Definitely my favorite of the bunch. I saw your post about testing with other addons, and BOY am I a great test pilot for you! xD

This is when I went to destroy some Conjured Spring Water from my bags (clicking into empty space). It's happened before (same exact error) but this was the most recent example I could think of.

Message: ..\AddOns\KiwiItemInfo\Tooltip.lua line 38:
attempt to index local 'focus' (a nil value)
Debug:
KiwiItemInfo\Tooltip.lua:38:
KiwiItemInfo\Tooltip.lua:33
[C]: ?
[C]: ?
Skillet-Classic\Skillet.lua:1246:
Skillet-Classic\Skillet.lua:1245
[C]: ?
[C]: ?
...Ons\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:482:
...Ons\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:476
[C]: ?
[C]: ?
...Ons\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:408: SetBagItem()
..\FrameXML\ContainerFrame.lua:1318: ContainerFrameItemButton_OnEnter()
[string ":OnEnter"]:1:
[string "
:OnEnter"]:1
AdiBags\widgets\ItemButton.lua:593:
AdiBags\widgets\ItemButton.lua:573
(tail call): ?
AdiBags\widgets\ItemButton.lua:604:
AdiBags\widgets\ItemButton.lua:602
(tail call): ?
...que\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:119:
...que\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:119
[C]: ?
...que\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:29:
...que\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:25
...que\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:64:
...que\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:59
(tail call): ?
[C]: ?
[C]: PickupContainerItem()
..\FrameXML\ContainerFrame.lua:1224: ContainerFrameItemButton_OnClick()
[string ":OnClick"]:12:
[string "
:OnClick"]:1
Locals:
tooltip = GameTooltip {
0 =
SetQuestLogRewardSpell = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
ZGV_ShowManyLines = defined @interface\AddOns\ZygorGuidesViewerClassic\Functions.lua:253
SetHyperlink = defined =[C]:-1
SetShapeshift = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
hasMoney = 1
SetBackdropBorderColor = defined =[C]:-1
Hide = defined =[C]:-1
SetQuestRewardSpell = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
comparing = false
Show = defined =[C]:-1
SetPetAction = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
SetUnitDebuff = defined =[C]:-1
LibExtraTipLeft =

{
}
SetLootItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
SetQuestItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
LibExtraTipRight =
{
}
SetTrainerService = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
numMoneyFrames = 2
BottomOverlay = {
}
PixelSnapDisabled = true
SetInboxItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
SetBuybackItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
shoppingTooltips =
{
}
SetSendMailItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
SetMerchantItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
SetQuestLogItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
TopOverlay = {
}
SetUnitBuff = defined =[C]:-1
SetTalent = defined @interface\AddOns\ZygorGuidesViewerClassic\TalentAdvisor.lua:1609
SetTradePlayerItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
template = "Transparent"
StatusBar = GameTooltipStatusBar {
}
updateTooltip = 0.083000
SetInventoryItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
SetLootRollItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
SetUnitAura = defined =[C]:-1
ignoreUpdates = true
SetAuctionSellItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
SetBagItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
needsReset = true
SetTradeTargetItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
SetBackdropColor = defined =[C]:-1
pixelBorders =
{
}
SetAuctionItem = defined @interface\AddOns\BootyBayGazette\libs\LibExtraTip\LibExtraTip.lua:402
}
i_name = "Conjured Spring Water"
i_link = "[Conjured Spring Water]"
tooltipName = "GameTooltip"
focus = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index local 'focus' (a nil value)"
L = defined @interface\AddOns\KiwiItemInfo\Locale.lua:44

AddOns:
Swatter, v8.2.6377 (SwimmingSeadragon)
AddOnSkins, v4.31
AdiBags, vDEV
Aptechka, v1.13.18
Atlas, vv1.45.01.11302
AtlasClassicWoW, vv1.45.00.11302.05
AtlasLootClassic, vv1.3.0
AtlasLootClassicData, vv1.3.0
AtlasLootClassicDungeonsAndRaids, vv1.3.0
AtlasLootClassicMaps, vv1.0.0
AtlasQuest, v4.11.54
AuctionFaster, v1.13.4
AutoBarClassic, v1.13.2.04
BetterAddonList, v1.0.8-classic1
BootyBayGazette, v6.0.20191014
ButterQuestTracker, v1.9.11
CCAlert, v1.0
Clique, vv1.0.3-classic
ConROC, v1.13.29
ConROCDruid, v1.13.5
DBMCore, v1.13.16
DBMCountPackOverwatch, v1.4.7
DBMDefaultSkin, v
DBMStatusBarTimers, v
DejaClassicStats, v1302r029
Details, v
DetailsTinyThreat, v
DismountMe, v1.5
DropTheCheapestThing, vv11302.1
ElvUI, v1.14
ElvUIBenikUIClassic, v1.05
ElvUIExtraDataTextsClassic, v1.0.2
ElvUILocationPlus, v1.00
ElvUIMerathilisUIClassic, v0.5
ExtVendorUIClassic, v1.0.4
FishingBuddy, v0.6 Beta 1
GlobalIgnoreList, v1.13.2
GoldSellerBlocker, v1.13.2
GTFO, v4.51
GuildRosterManager, v1.76
HandyNotes, vv1.5.9
HandyNotesNPCsClassic, v1.18
HandyNotesTravelGuideClassic, vv2.1.5b
Immersion, v1.2.2
InFlightLoad, v1.13.003
iSoldMore, v
ItemRack, v
ItemTooltipProfessionIcons, v1.1.3
KiwiItemInfo, vv2.2.2
KuiMedia, v
KuiNameplates, v
KuiNameplatesCore, v
LeatrixMaps, v1.13.34
LoseControl, v1.00
lsToasts, v11302.02
Masque, v8.2.7-Classic
MasqueElvUIesque, v1.0
MasterTradeSkills, v1.13
MikScrollingBattleText, v5.7.149
MissingTradeSkillsList, v1.13.20
Misspelled, v1.7.4
Notepad, v1.0.0
OmniCC, v8.2.5
OPie, vAncient Walnut 5
Prat30, v3.7.36
Prat30Libraries, v
Puggle, v2.2
quantify, v1.1c-classic
Questie, v4.2.1 0 0f28ee6
ReagentData, v2.4.1
RealMobHealth, v2.13
SkilletClassic, v1.00-beta4
SmartBuff, v1.13.2d
SpeedyAutoLoot, v2.0.23
Stubby, v8.2.6376 (SwimmingSeadragon)
Talented, vv191011
TalentedData, v
TFTB, v1.10
TodoChecklister, v1.2.3
WeakAuras, v2.15.2
WeakAurasCompanion, v1.0.0
WeakAurasOptions, v2.15.2
WideQuestLog, v
XLoot, v8.1-1
XLootFrame, v8.1-1
XLootGroup, v8.1-1
XLootMaster, v8.1-1
XLootMonitor, v8.1-1
XToLevel, v11302
ZygorGuidesViewerClassic, v1.0
BlizRuntimeLib_enUS v1.13.2.11302
(ck=8f6)

commented
bytespire
I am just using the wow API functions, no 3rd party addons, very light.

I had a look at your script and got it working if you change this:
KiwiItemInfo.lua :: around line 107 :: GameTooltip:SetScript
  -- This line was preventing my addon's "OnTooltipSetItem" handler function from triggering
  -- I am not familiar with SetScript but I guess it replaces the existing handlers?
  -- I replaced this line with GameTooltip:HookScript and now my addon's tooltip handler is called
  -- maybe replace ItemRefTooltip:SetScript aswell
Let me know if you can confirm if SetScript has this behaviour or you find an alternative solution
PoliteKiwi
I can confirm this is the issue. I guess this is an API and State issue. They didn't work in a valid way for SetScript() to work with blizz uis, as they are managed obviously. So we have to hook to it rather.
If you are using SetScript, you might as well change it for compat reasons.

http://prntscr.com/pjuwqo

This is a ss of discord chat.

You'd think you'd be able to pry and apply and restore state to disable the functionality, but that isn't so. You HAVE to use hook. We would have to have an event queue set up if we wanted to abuse setscript's ability to disable the event to load a fresh, undatacorrupted function into it.

So we identified the issue. I will release when finished.

commented

Can't say I have produced this error. I am gonna give it a go, since it's easily accessible to me.

In the case of it reproducing or not I know a simple hotfix which will probably be released as a beta release on curseforge, or you could pull the indev branch when I fix it (note it doesn't keep track of versioning when pulling from git).

Thanks for your support. It means a lot to me.