frozn / TipTac

WoW AddOn TipTac Reborn
GNU General Public License v3.0
117 stars 25 forks source link

Error occurs when mousing over a combat pet's action bar #309

Closed njmorf closed 1 month ago

njmorf commented 2 months ago

Describe the bug

Error when mousing over the pet action bar (in this case, a warlock's imp). The action bars are created by Bartender 4 4.15.0, but the error appears with the standard Blizzard toolbar too.

4x TipTacItemRef/ttItemRef.lua:837: attempt to call global 'HasPetSpells' (a nil value) [string "@TipTacItemRef/ttItemRef.lua"]:837: in function <TipTacItemRef/ttItemRef.lua:814> [string "=[C]"]: in function SetPetAction' [string "@Blizzard_ActionBar/Mainline/PetActionBar.lua"]:294: in function <Blizzard_ActionBar/Mainline/PetActionBar.lua:273> [string "=[C]"]: in functionOnEnter' [string "@Bartender4/PetButton.lua"]:27: in function <Bartender4/PetButton.lua:25>

Locals: self = GameTooltip { ItemTooltip = Frame { } BottomOverlay = Texture { } NineSlice = Frame { } TopEdge = Texture { } LeftEdge = Texture { } textLeft1Font = "GameTooltipHeaderText" textRight2Font = "GameTooltipText" TopOverlay = Texture { } TextLeft1 = GameTooltipTextLeft1 { } StatusBar = GameTooltipStatusBar { } shouldRefreshData = false waitingForData = false backdropInfo =

{ } TopRightCorner = Texture { } processingInfo =
{ } infoList =
{ } Center = Texture { } RightEdge = Texture { } BottomEdge = Texture { } supportsDataRefresh = true BottomRightCorner = Texture { } BottomLeftCorner = Texture { } ttCount = FontString { } TopLeftCorner = Texture { } CIMI_tooltipWritten = false updateTooltipTimer = 0.004000 ttIcon = Texture { } supportsItemComparison = true shoppingTooltips =
{ } TextRight1 = GameTooltipTextRight1 { } textRight1Font = "GameTooltipHeaderText" textLeft2Font = "GameTooltipText" TextRight2 = GameTooltipTextRight2 { } TextLeft2 = GameTooltipTextLeft2 { } } slot = 5 name = "PET_MODE_ASSIST" texture = "PET_ASSIST_TEXTURE" isToken = 1 isActive = true autoCastAllowed = false autoCastEnabled = false spellID = nil _name = "Assist" icon = "Interface\Icons\Ability_Hunter_Pet_Assist" (temporary) = nil (temporary) = "attempt to call global 'HasPetSpells' (a nil value)" cfg =
{ fontFace = "Fonts\FRIZQT__.TTF" classification_elite = "+%s " barHeight = 6 tipBackdropEdge = "Interface\Tooltips\UI-Tooltip-Border" aurasAtBottom = true backdropEdgeSize = 14 hideFactionText = true powerBar = false anchorFrameUnitPoint = "TOP" tipBorderColor =
{ } healthBarClassColor = true barFontFlags = "OUTLINE" classification_rare = "%s|r (Rare) " colorGuildByReaction = true barsCondenseValues = true left = 165.311951 reactColoredBackdrop = false classification_trivial = "~%s " manaBar = false gradientColor =
{ } minimapConfig =
{ } fadeTime = 0.100000 targetYouText = "<>" top = 740.060547 barFontFace = "Fonts\ARIALN.TTF" if_modifyAchievementTips = true barFontSize = 10 fontSizeDelta = 2 overrideFade = true if_enable = true preFadeTime = 0.100000 hideWorldTips = true reactText = false showTarget = "last" if_smartIcons = true tipBackdropBG = "Interface\Buttons\WHITE8X8" tipColor =
{ } hideDefaultBar = true healthBar = true healthBarText = "current" classification_normal = "%s " colLevel = "|cffc0c0c0" showDebuffs = false reactColoredBorder = false classification_minus = "-%s " anchorFrameUnitType = "normal" showGuildRank = false if_showItemLevelAndId = false anchorWorldTipType = "normal" fontSize = 12 if_itemQualityBorder = false if_showSpellIdAndRank = false mouseOffsetY = 0 showBuffs = false optionsLeft = 182.666779 barTexture = "Interface\Addons\SharedMedia\statusbar\Smoothv2" colSameGuild = "|cffff32ff" classification_worldboss = "%s|r (Boss) " anchorFrameTipType = "normal" iconRaid = false backdropInsets = 2.500000 classification_rareelite = "+%s|r (Rare) " gradientTip = true anchorWorldTipPoint = "TOP" showTalents = false colorNameByClass = false showMinimapIcon = false classColoredBorder = false anchorWorldUnitType = "normal" healthBarColor =
{ } anchorWorldUnitPoint = "TOP" hideUFTipsInCombat = true colRace = "|cffffffff" mouseOffsetX = 0 fontFlags = "" if_showQuestLevelAndId = false optionsBottom = 240.977783 if_showIcon = true anchorFrameTipPoint = "TOP" modifyFonts = false } tipDataAdded =
{ } LibFroznFunctions =
{ hasWoWFlavor =
{ } TableRegistry =
{ } isWoWFlavor =
{ } } LinkTypeFuncs =
{ } CustomTypeFuncs =
{ }

Steps to Reproduce

  1. Get a pet out.
  2. Mouse over any button in the pet's action bar
  3. Error is reported.

Expected behavior

No response

Additional context

No response

Version of TipTac Reborn

24.07.25

Flavor/Version of WoW

Retail, 11.0.0

MarcelWilson commented 2 months ago

Here is a copy of the stack formatted.

Message: Interface/AddOns/TipTacItemRef/ttItemRef.lua:837: attempt to call global 'HasPetSpells' (a nil value)
Time: Wed Jul 24 22:45:06 2024
Count: 15
Stack: Interface/AddOns/TipTacItemRef/ttItemRef.lua:837: attempt to call global 'HasPetSpells' (a nil value)
[string "@Interface/AddOns/TipTacItemRef/ttItemRef.lua"]:837: in function <Interface/AddOns/TipTacItemRef/ttItemRef.lua:814>
[string "=[C]"]: in function `SetPetAction'
[string "@Interface/AddOns/Blizzard_ActionBar/Mainline/PetActionBar.lua"]:294: in function <.../AddOns/Blizzard_ActionBar/Mainline/PetActionBar.lua:273>
[string "=[C]"]: ?

Locals: self = GameTooltip {
 ItemTooltip = Frame {
 }
 BottomOverlay = Texture {
 }
 NineSlice = Frame {
 }
 TopEdge = Texture {
 }
 LeftEdge = Texture {
 }
 textLeft1Font = "GameTooltipHeaderText"
 hasMoney = 1
 textRight2Font = "GameTooltipText"
 TopOverlay = Texture {
 }
 TextLeft1 = GameTooltipTextLeft1 {
 }
 StatusBar = GameTooltipStatusBar {
 }
 processingInfo = <table> {
 }
 infoList = <table> {
 }
 shouldRefreshData = false
 numMoneyFrames = 1
 waitingForData = false
 BottomLeftCorner = Texture {
 }
 Center = Texture {
 }
 RightEdge = Texture {
 }
 supportsDataRefresh = true
 BottomEdge = Texture {
 }
 BottomRightCorner = Texture {
 }
 ttCount = FontString {
 }
 TopRightCorner = Texture {
 }
 TopLeftCorner = Texture {
 }
 backdropInfo = <table> {
 }
 updateTooltipTimer = 0.200000
 shoppingTooltips = <table> {
 }
 ttIcon = Texture {
 }
 textRight1Font = "GameTooltipHeaderText"
 TextRight1 = GameTooltipTextRight1 {
 }
 supportsItemComparison = true
 textLeft2Font = "GameTooltipText"
 TextRight2 = GameTooltipTextRight2 {
 }
 TextLeft2 = GameTooltipTextLeft2 {
 }
}
slot = 3
name = "PET_ACTION_MOVE_TO"
texture = "PET_MOVE_TO_TEXTURE"
isToken = 1
isActive = false
autoCastAllowed = false
autoCastEnabled = false
spellID = nil
_name = "Move To"
icon = "Interface\Icons\Ability_Hunter_Pet_Goto"
(*temporary) = nil
(*temporary) = "attempt to call global 'HasPetSpells' (a nil value)"
cfg = <table> {
 top = 1079.999878
 left = 913.000244
 minimapConfig = <table> {
 }
}
tipDataAdded = <table> {
}
LibFroznFunctions = <table> {
 hasWoWFlavor = <table> {
 }
 TableRegistry = <table> {
 }
 isWoWFlavor = <table> {
 }
}
LinkTypeFuncs = <table> {
}
CustomTypeFuncs = <table> {
}
schrottbrennt commented 1 month ago

For me this happens specifically only with the stance buttons, not actual pet/demon ability buttons.

frozn commented 1 month ago

Thanks for reporting this! 👍

Fix will be included in the next release.