frozn / TipTac

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

LUA error and tooltips not shown #262

Closed hollo6 closed 2 months ago

hollo6 commented 11 months ago

Describe the bug In version 23.10.15, getting the following LUA error when hovering over some brokers and they do not function. Rolled back to 23.08.28 where the issue is not present.

14x TipTac/ttCore.lua:1565: calling 'GetScale' on bad self (Usage: local frameScale = self:GetScale()) string "=[C]": in function GetScale' [string "@TipTac/ttCore.lua"]:1565: in functionSetScaleToTip' [string "@TipTac/ttCore.lua"]:1685: in function ?' [string "@TipTac/libs/LibFroznFunctions-1.0-15/LibFroznFunctions-1.0.lua"]:889: in functionFireGroupEvent' [string "@TipTac/ttCore.lua"]:1507: in function `SetCurrentDisplayParams' [string "@TipTac/ttCore.lua"]:1359: in function <TipTac/ttCore.lua:1358>

string "=[C]": in function SetShown' [string "@Blizzard_UIWidgets/Blizzard_UIWidgetTemplateBase.lua"]:102: in functionOnEnter' [string "@Blizzard_UIWidgets/Blizzard_UIWidgetTemplateBase.lua"]:622: in function <...Blizzard_UIWidgets/Blizzard_UIWidgetTemplateBase.lua:621>

Locals: (*temporary) = EmbeddedItemTooltip { 0 = ItemTooltip = Frame { } SetHyperlink = defined =[C]:-1 SetAzeriteEssence = defined =[C]:-1 SetVoidDepositItem = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 SetTraitEntry = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 ClearBackdrop = defined =[C]:-1 SetLootCurrency = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 SetWorldCursor = defined @FrameXML/GameTooltip.lua:1074 SetLootItem = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 GetSpell = defined @FrameXML/GameTooltip.lua:1112 SetQuestLogSpecialItem = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 SetRecipeReagentItem = defined =[C]:-1 SetMerchantItem = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 BottomOverlay = Texture { } SetSocketedRelic = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 ProcessInfo = defined @SharedXML/Tooltip/TooltipDataHandler.lua:335 NineSlice = Frame { } SetInventoryItem = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 TopEdge = Texture { } SetUnitDebuffByAuraInstanceID = defined =[C]:-1 GetProcessingTooltipInfo = defined @SharedXML/Tooltip/TooltipDataHandler.lua:488 SetBackdropColor = defined =[C]:-1 LeftEdge = Texture { } AddLineDataText = defined @SharedXML/Tooltip/TooltipDataHandler.lua:429 AppendInfo = defined @SharedXML/Tooltip/TooltipDataHandler.lua:525 SetSpellBookItem = defined =[C]:-1 textLeft1Font = "GameTooltipHeaderText" AppendInfoWithSpacer = defined @SharedXML/Tooltip/TooltipDataHandler.lua:531 SetShapeshift = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 SetArtifactPowerByID = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 textRight2Font = "GameTooltipText" TopOverlay = Texture { } SetSocketedItem = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 SetUnitDebuff = defined =[C]:-1 SetMountBySpellID = defined =[C]:-1 SetBorderBlendMode = defined @SharedXML/Backdrop.lua:266 SetTrainerService = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 TextLeft1 = EmbeddedItemTooltipTextLeft1 { } GetTooltipData = defined @SharedXML/Tooltip/TooltipDataHandler.lua:505 IsTooltipType = defined @SharedXML/Tooltip/TooltipDataHandler.lua:509 OnBackdropSizeChanged = defined @SharedXML/Backdrop.lua:182 ClearHandlerInfo = defined @SharedXML/Tooltip/TooltipDataHandler.lua:444 SetArtifactItem = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 StatusBar = EmbeddedItemTooltipStatusBar { } SetPossession = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 SetUnitAura = defined =[C]:-1 SetUnitBuffByAuraInstanceID = defined =[C]:-1 SetConduit = defined =[C]:-1 SetupPieceVisuals = defined @SharedXML/Backdrop.lua:246 SetMinimapMouseover = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 GetItem = defined @FrameXML/GameTooltip.lua:1108 SetRecipeResultItem = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 SetQuestPartyProgress = defined =[C]:-1 ProcessLineData = defined @SharedXML/Tooltip/TooltipDataHandler.lua:410 OnBackdropLoaded = defined @SharedXML/Backdrop.lua:152 SetPvpTalent = defined @SharedXML/Tooltip/TooltipDataHandler.lua:539 SetExistingSocketGem = defined @SharedXML/Tooltip/TooltipDataHandler.l

To Reproduce Steps to reproduce the behavior:

  1. Hover over some brokers (e.g. Broker_DungeonDifficulty, Broker_LootSpec)
  2. Observe LUA error
  3. Brokers not functioning

Expected behavior "Dropdowns" are supposed to appear to use.

Screenshots N/A

TipTac Reborn (please complete the following information):

WoW (please complete the following information):

Additional context Working fine in previous version (23.08.28).

frozn commented 11 months ago

Which data broker display addon do you use? Under addon Bazooka the dropdown menus from Broker_DungeonDifficulty and Broker_LootSpec are working fine under 23.10.15.

hollo6 commented 11 months ago

I'm using Titan Panel.

frozn commented 11 months ago

Hm, under Titan Panel everything still works fine. 🤔

frozn commented 11 months ago

If you disable all addons except TipTac, Titan Panel and Broker_DungeonDifficulty / Broker_LootSpec, do you still get this error?

hollo6 commented 11 months ago

I don't get the error after a /reload with this version either, so I'm not sure what triggers it. It happened in DotI though, so it might have something to do with this one: https://github.com/frozn/TipTac/issues/257, but with 23.08.28, I've never seen it happen (not even after having the DotI error).

hollo6 commented 11 months ago

Maybe worth noting that the common thing in these 2 brokers is that they have a dropdown-style tooltip that has functionality when clicked, and the other brokers that don't have this issue are only info tips.

hollo6 commented 11 months ago

Happened again in DotI but this time only Broker_LootSpec was affected.

hollo6 commented 11 months ago

I just reproduced this in DotI, definitely has something to do with the issue linked above. After getting that error, on the second hover on Broker_LootSpec, this happens. More specifically, I did the following sequence:

  1. Hover over the portal progress bar - get LUA error for the bar
  2. Hover over Broker_LootSpec
  3. Hover over Broker_DungeonDifficulty
  4. Hover over Broker_LootSpec again - at this point, it's not working and the LUA error pops up every time
frozn commented 2 months ago

In the meantime this has been fixed. I added several IsForbidden() checks to make shure, that the tooltip isn't accessed while it's protected.