TipTac Reborn

TipTac Reborn

1M Downloads

GameToolTip.lua / SetPoint Lua errors

Aur0r4 opened this issue ยท 14 comments

commented

Hello,

first I want to thank you again for your amazing work with updating Tiptac, you did a very very good job there!

Since a few weeks I'm facing the following issue and I'm not sure if it is actually a problem with TipTac or not:

467x FrameXML\GameTooltip.lua:171: Action[SetPoint] failed because[SetPoint would result in anchor family connection]: attempted from: GameTooltip:SetPoint. [string "=[C]"]: in function SetPoint'
[string "@FrameXML\GameTooltip.lua"]:171: in function <FrameXML\GameTooltip.lua:169>
[string "=[C]"]: ?
[string "=[C]"]: in function GameTooltip_SetDefaultAnchor' [string "*:OnTooltipSetDefaultAnchor"]:1: in function <[string "*:OnTooltipSetDefaultAnchor"]:1> [string "=[C]"]: ?

Its happening when hovering world units but also sometimes when mouseover an actionbutton. For actionbuttons the issue is delayed most of the time. You can see the tooltip and after a few seconds it disappears and only left border and background texture.
I tried to disable moveanything, but the issue returns very soon. Disabling TipTac ItemRef module was solving it for a few minutes but everytime the error is coming back again. /reload is fixing it too for a while.

Maybe you have seen this before or have an idea what is going on there?

Here is a short video of the issue.
World unit errors are right at the start, and the disappearing tooltips are at 0:40:
https://www.youtube.com/watch?v=e-WnUsRtXjc

Thank you!

Regards
Aur0r4

commented

Normally the GameTooltip is anchored to UIParent. But TipTac reanchors the tooltip to his own anchor, so that the position of the tooltip can be moved. To do so, TipTac clears all anchors with tooltip:ClearAllPoints() and sets the new anchor with tooltip:SetPoint(<anchor point>, <TipTac's anchor>).

If some addon now calls GameTooltip_SetDefaultAnchor() without previously clearing all anchors with tooltip:ClearAllPoints(), your mentioned error message regarding SetPoint shows up. In my opinion the call to tooltip:ClearAllPoints() is missing in blizzards function GameTooltip_SetDefaultAnchor(), so I decided to implement a pre-hook to GameTooltip_SetDefaultAnchor() and add the missing tooltip:ClearAllPoints().

With this workaround the SetPoint-problem for many player was gone, but for other players there arised a new problem: taint in wow

This means, that (especially in combat) all functions, objects, etc. in the code execution path are tainted/unsecure, if any addon touches these or interferes here in the one or other way. This leaded to many ADDON_ACTION_BLOCKED errors, see #62. So I decided to remove this pre-hook in the latest release.

Long story short: For myself these error messages (yours and the ADDON_ACTION_BLOCKED errors) don't show up ever under my wow client with my current addons. Therefore it was really difficult to analyze these problems. I suspect, that some addon on your system is responsible for this errors. To nail this issue further down, I think it would be a great help if you can find out the problematic addon with enabling/disabling some of your addons. Then I would install this addon for myself and would have the opportunity to further analyze this problem.

commented

Thank you for that detailed answer. Wow!
I'm using a lot of addOns in this game so, the possibility that some of them are causing the problem are really high. I have no problem with disabling them for test purposes but since the issue is not showing up everytime it will take a very long time to find further informations.
Yesterday I disabled some parts of raider.io (recruitement module) and since then I do not see more errors ... until now. But I will continue to check and report back if something is changing.

For now, here is a list of all my AddOns, bold font = addOns that could be responsible for the issues because of their ability to change tooltips.

BugGrabber
KalielsTracker (not sure)
Ace3
AngryKeystones
BagBrother
Bagnon
BasicMinimap
BetterAlign
BetterWardrobe
BigWigs
BindPad
BugSack
Clique
ColorPickerPlus
Details
Dominos
Exorsus Raid Tools
Hekili
Immersion
kgPanels
LittleWigs
LoggerHeadLite
LoseControl
Masque
MoveAnything
NeatPlates
OmniCC
OPie
Pawn
Peddler
PitBull4
Prat
Quartz
RaiderIO
Raven
Reflux
SharedMedia
SimulationCraft
SmexyMats
TipTac
tullaRange
UIScaler
WeakAuras
XLoot

commented

Update: No more errors so far.
I will try to enable raider.io-recruitement module again to see if the error will return.

commented

No more errors so far. I can't reproduce this anymore. Maybe it was an error from a different addOn and got fixed.
You can close this, if you want.

Thanks! :)

commented

Nice to hear that the problem has been solved after all. And thanks for your kind words... ๐Ÿ˜‰๐Ÿ‘

commented

Okay, I figured out today how to reproduce it.
I will now just illuminate this as precisely as possible, maybe it helps:

The error only occurred with one of my chars, so my guess was pretty quickly that it must be a character-specific problem.

First of all how I reproduced the error:

I have 2 macros in the action bar that adjust the spell, depending on which talent is selected. As soon as I came over one of these macros for the first time after login the error was triggered:
The tooltip is displayed only for a fraction of a second and then disappears, to see is only frame and background texture. In addition, from this point on, whenever I looked at a unit in the open world (mouseover), the error shown above was generated.
After a /reload the error did not occur again until WoW was restarted.

Now I wanted to know exactly:
All AddOns off, except TipTac: error remained.

I created a new interface and WTF folder and only put in TipTac, there was no error.
Then I threw all the AddOns in alphabetically + the SavedVariables. At the end all AddOns were again in it and the error did not occur further.
Config.wtf copied back: Error still gone

I then went through the various files in the characterorder of my priest........
I had suspected it before (no idea why I didn't test this first), it was because of a 1KB .txt file called "layout-local.txt"!

Well I'm glad I found the cause. I can't quite explain what caused this, but I had built the UI with this char and had probably tested many different add-ons and had different TipTac versions on it, so maybe that's what caused it.

Following once the content of the faulty layout-local.txt:
https://pastebin.com/m0kPar4Y

and here is the (new) good one:
https://pastebin.com/uH8g0NiD

Seems like for some reason there is no TipTac Frame showing in the bad one.

Thanks for your time and keep up your work! :)

Aur0r4

(Auto Translated because I was too lazy today :p)

commented

Strange, because TipTac doesn't create a frame named "TipTac". In my "layout-local.txt" is no "TipTac" entry either. ๐Ÿคจ

Although I don't understand how the problem arose, thanks anyway for your detailed description of this issue. Perhaps this can help in the future if others also have this problem. ๐Ÿ‘

commented

(Auto Translated because I was too lazy today :p)

Ist kein Problem, mache ich auch manchmal. ๐Ÿคซ ๐Ÿคญ

commented

@frozn
Well seems like the issue is back, but only for my alt char (only tested on my priest) and this time I can't get rid of it.
Not sure if you can reopen this ticket, I will proceed with disabling my other addOns, but since its not clearly reproduceable it will take some time.

Here is my latest bugsack report:
6412x FrameXML\GameTooltip.lua:171: Action[SetPoint] failed because[SetPoint would result in anchor family connection]: attempted from: GameTooltip:SetPoint. [string "=[C]"]: in function SetPoint'
[string "@FrameXML\GameTooltip.lua"]:171: in function <FrameXML\GameTooltip.lua:169>
[string "=[C]"]: ?
[string "=[C]"]: in function `GameTooltip_SetDefaultAnchor'
[string ":OnTooltipSetDefaultAnchor"]:1: in function <[string ":OnTooltipSetDefaultAnchor"]:1>
[string "=[C]"]: ?

Locals:
(*temporary) = GameTooltip {
0 =
SetQuestPartyProgress = defined =[C]:-1
ttNumLines = 0
OnBackdropLoaded = defined @SharedXML\Backdrop.lua:144
ItemTooltip = {
}
SetHyperlink = defined =[C]:-1
SetUnit = defined =[C]:-1
SetAzeriteEssence = defined =[C]:-1
RightEdge = {
}
SetVoidWithdrawalItem = defined =[C]:-1
ttSetBackdropBorderColorLocked = true
SetSocketGem = defined =[C]:-1
ClearBackdrop = defined @SharedXML\Backdrop.lua:274
SetPetAction = defined =[C]:-1
ttUnit =

{
}
SetLFGDungeonReward = defined =[C]:-1
TextLeft1 = GameTooltipTextLeft1 {
}
ttDefaultAnchored = false
comparing = false
FadeOut = defined @tiptac\ttCore.lua:1453
waitingForData = false
__tamedCounts = false
SetRecipeReagentItem = defined =[C]:-1
SetQuestCurrency = defined =[C]:-1
ttDisplayingAura = false
SetWeeklyReward = defined =[C]:-1
SetCurrencyTokenByID = defined =[C]:-1
SetupTextureCoordinates = defined @SharedXML\Backdrop.lua:206
BottomOverlay = {
}
SetSpellByID = defined =[C]:-1
ttLastUpdate = 0
ttBackdropBorderColorApplied = false
ttIcon = {
}
GetEdgeSize = defined @SharedXML\Backdrop.lua:180
NineSlice = {
}
SetCompanionPet = defined =[C]:-1
TopEdge = {
}
ttCount = {
}
SetLootRollItem = defined =[C]:-1
ttBackdropColorApplied = false
ttAnchorType = "normal"
SetBagItem = defined =[C]:-1
TopRightCorner = {
}
SetAction = defined =[C]:-1
SetBackdropColor = defined @tiptac\ttCore.lua:1656
LeftEdge = {
}
SetInventoryItem = defined =[C]:-1
SetTrainerService = defined =[C]:-1
SetCurrencyByID = defined =[C]:-1
SetVoidDepositItem = defined =[C]:-1
SetVoidItem = defined =[C]:-1
SetTradeTargetItem = defined =[C]:-1
SetSpellBookItem = defined =[C]:-1
GetBackdropColor = defined @SharedXML\Backdrop.lua:382
textLeft1Font = "GameTooltipHeaderText"
TopLeftCorner = {
}
SetMerchantItem = defined =[C]:-1
SetCurrencyToken = defined =[C]:-1
SetGuildBankItem = defined =[C]:-1
updateTooltipTimer = 0.006000
SetBackdropBorderColor = defined @tiptac\ttCore.lua:1664
SetLootItem = defined =[C]:-1
Hide = defined =[C]:-1
ttDisplayingUnit = false
BottomLeftCorner = {
}
SetHeirloomByItemID = defined =[C]:-1
TextRight1 = GameTooltipTextRight1 {
}
SetExistingSocketGem = defined =[C]:-1
BottomEdge = {
}
SetBackdrop = defined @tiptac\ttCore.lua:1648
SetBuybackItem = defined =[C]:-1
TopOverlay = {
}
GetBackdropBorderColor = defined @SharedXML\Backdrop.lua:401
GetBackdrop = defined @SharedXML\Backdrop.lua:339
SetUnitDebuff = defined =[C]:-1
SetItemByID = defined =[C]:-1
SetItemKey = defined =[C]:-1
SetQuestItem = defined =[C]:-1
SetEnhancedConduit = defined =[C]:-1
SetBorderBlendMode = defined @SharedXML\Backdrop.lua:258
SetToyByItemID = defined =[C]:-1
SetQuestLogItem = defined =[C]:-1
HasBackdropInfo = defined @SharedXML\Backdrop.lua:270
SetAzeriteEssenceSlot = defined =[C]:-1
SetInboxItem = defined =[C]:-1
shoppingTooltips =
{
}
SetConduit = defined =[C]:-1
SetLFGDungeonShortageReward = defined =[C]:-1
backdropInfo =
{
}
OnBackdropSizeChanged = defined @SharedXML\Backdrop.lua:174
SetUnitBuff = defined =[C]:-1
BottomRightCor`

commented

Again under investigation...

commented

I am getting this issue now. Having read above, I'll try to isolate the cause to see if something in the layout mirrors what you've seen. For now, tho:

`Message: Interface/FrameXML/GameTooltip.lua:190: Action[SetPoint] failed because[SetPoint would result in anchor family connection]: attempted from: GameTooltip:SetPoint.
Time: Wed Oct 26 15:34:26 2022
Count: 9
Stack: Interface/FrameXML/GameTooltip.lua:190: Action[SetPoint] failed because[SetPoint would result in anchor family connection]: attempted from: GameTooltip:SetPoint.

UPDATE 27 Oct: After disabling all addons, then enabling TipTac and configuring it properly, I then activated all the remaining addons one at a time. The error did not reproduce. So unfortunately, I'm not able to add anything helpful.
`

commented

It happened to one of my toons again after 10.0. I deleted the layout-local.txt from that character-config-folder and issue is gone.

btw: finally found the donation button :)

commented

I never have seen the SetPoint issue for myself. But interesting, that it probably might have to do with the "layout-local.txt"... ๐Ÿค”

Regarding the donation button: Because updating all addons that I support for dragonflight was (and is) really time consuming and the possibility to make donations was requested several times, I finally added a "Buy me a coffee" section on the project page on github so that I don't run out of coffee under heavy development any more. I really appreciate this from the community! ๐Ÿ˜‰