ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   AddOn Help/Support (https://www.esoui.com/forums/forumdisplay.php?f=164)
-   -   Insanely Confusing UI Error (https://www.esoui.com/forums/showthread.php?t=1595)

lateralus821 05/22/14 06:34 PM

Insanely Confusing UI Error
 
So this UI Error started popping up a few days ago and I haven't started using any new addons so I have no clue what it could be from. Any suggestions?


Xrystal 05/22/14 06:40 PM

I've received a couple of error messages that have been from the ESO code itself, which may or may not be affected by my addons.

But, if as you say, you are not using addons yet then it must be a bug in the game, so I would suggest taking a screenshot of that error and then accessing the in game bug screen and post a bug of it. Or post on the bug forums.


edit: But a quick read of that error message I am just wondering, do you have a missing outfit slot when you switch active weapon group ? And then you moused over the one that disappeared/appeared.

Garkin 05/22/14 06:46 PM

After a while of playing I'm getting exactly the same error message when I try to swap weapons.

It fails at this line of InventorySlot.lua:
Code:

local controlType = inventorySlot:GetType()
In other words, tooltip is not attached to valid inventory slot. So, probably it is caused by some addon that modifies tooltips (ItemTooltip).

In my case this slash command fixes the error message:
Code:

/script ComparativeTooltip1:SetHidden(true)
Now to find which addon does not hide ComparativeTooltip1 when it should be hidden. My guess is either CraftCompare or InventoryInsight, but I still do not know which one it is.

ingeniousclown 05/22/14 07:02 PM

I'm actually thinking that this error is a bug with ESO itself.

My addons are getting blamed (and rightly so in Inventory Grid View's case... kinda), but I don't think that it's any addon's fault.

Inventory Grid View is getting a lot of blame because I hook onto one of the functions in that stack, but as you can see, Inventory Grid View is not always IN the stack meaning that it is not the central reason it is happening.

I am able to reproduce a stack with NO ADDONS ENABLED, but in a very specific way:
-Mouse over some equipment in your inventory.
-Hit your weapon swap key
-IMMEDIATELY move your mouse away from the item.

BOOM. Stack. This points to an issue in ZO's code. There are some strange edge cases floating around that cause OnMouseEnter to fire when swapping weapons.

lateralus821 05/22/14 07:55 PM

I do use both craft compare and inventory insight but I've used them for weeks without a single problem, this error just started a few days ago.

Garkin - how exactly would I put that to use?

/script ComparativeTooltip1:SetHidden(true)

Garkin 05/22/14 08:03 PM

In my case it is InventoryInsight:
  • link any weapon to the chat
  • click on that link to show tooltip
  • hit weapon swap
Error occurs only when InventoryInsight is loaded.

Garkin 05/22/14 08:11 PM

Quote:

Originally Posted by lateralus821 (Post 8298)
I do use both craft compare and inventory insight but I've used them for weeks without a single problem, this error just started a few days ago.

Garkin - how exactly would I put that to use?

/script ComparativeTooltip1:SetHidden(true)

You can use it instead of /reloadui to get rid of this error message. But it probably does not help much in combat, right? :)

Vicster0 05/22/14 08:12 PM

Quote:

Originally Posted by Garkin (Post 8300)
In my case it is InventoryInsight:
  • link any weapon to the chat
  • click on that link to show tooltip
  • hit weapon swap
Error occurs only when InventoryInsight is loaded.

Garkin, unless I'm completely off my rocker, InventoryInsight does not use ComparativeTooltips. At all.

Furthermore, the link and process you are referring to is simply a standard ZO link in chat. How ZO handles ItemLinks is not my business but if clicking on ItemLink in chat (which uses a ZO_PopupTooltip not a ComparativeTooltip) causes issues, then I still have to say signs point to it being a ZO issue.

Vicster0 05/22/14 08:13 PM

Quote:

Originally Posted by Garkin (Post 8301)
You can use it instead of /reloadui to get rid of this error message. But it probably does not help much in combat, right? :)

I too receive this error, and only when in combat - you know how I fix it?

I toggle GridView in my inventory to ListView. Doesn't make a damn bit of sense but it does prevent the error. *shrug*

Aiiane 05/22/14 08:17 PM

Here's the function in question:

Code:

local function OnActiveWeaponPairChanged(event, activeWeaponPair)
    if(not ComparativeTooltip1:IsHidden() or not ComparativeTooltip2:IsHidden()) then
        local tooltipAttachedTo = ComparativeTooltip1:GetOwner()
        if tooltipAttachedTo then
            ZO_InventorySlot_OnMouseEnter(tooltipAttachedTo:GetOwner())
        end
    end
end

ZO_InventorySlot_OnMouseEnter passes its argument directly to GetInventorySlotComponents, which then indexes it directly (which fails).

So basically, the problem manifests when ComparitiveTooltip1:GetOwner() is non-nil, but ComparitiveTooltip1:GetOwner():GetOwner() is nil - that is, when ComparitiveTooltip1 has an owner but not a grand-owner. I haven't dived into the tooltip codepath enough to determine whether the bug is that the code isn't checking for a grandparent first, or if there should always be a grandparent and something isn't updating it.

The reason why setting the comparitive tooltips to hidden "fixes" the problem is obvious - the entire codepath is skipped if the comparitive tooltips aren't visible.

Garkin 05/22/14 09:05 PM

Quote:

Originally Posted by Vicster0 (Post 8302)
Garkin, unless I'm completely off my rocker, InventoryInsight does not use ComparativeTooltips. At all.

Furthermore, the link and process you are referring to is simply a standard ZO link in chat. How ZO handles ItemLinks is not my business but if clicking on ItemLink in chat (which uses a ZO_PopupTooltip not a ComparativeTooltip) causes issues, then I still have to say signs point to it being a ZO issue.

I didn't check code of your addon yet and because EU servers are offline, I can't test it.

I'm not really sure, but it seems that you will get this UI error if ItemTooltip is cleared (hidden) without calling ItemTooltip:HideComparativeTooltips(). At least function ClearTooltip(tooltip) it does.

Or we can just hook the ZO_InventorySlot_OnMouseEnter(...) and add nil check...

ingeniousclown 05/22/14 09:15 PM

Quote:

Originally Posted by Garkin (Post 8307)
Or we can just hook the ZO_InventorySlot_OnMouseEnter(...) and add nil check...

This was brought up in IRC. It's a noble idea, but ultimately not something that we need to fix if indeed it is ZO's fault. I don't mind fixing their UI, but we should not be fixing their bugs.

Something has changed in the last couple of weeks to make this issue start popping up everywhere.

Glen348 05/22/14 09:59 PM

My Solution
 
Quote:

Originally Posted by lateralus821 (Post 8291)
So this UI Error started popping up a few days ago and I haven't started using any new addons so I have no clue what it could be from. Any suggestions?


I went into the addons category ingame and disabled all addons except this one (item saver) and start enabling them one by one once I got down to the end of my list, I found out that there was not one of my addons causing the problems, but now that I have done that I no longer get the error. if this make sense.

Garkin 05/23/14 06:05 AM

New versions of all my addons will have this line of code:
Lua Code:
  1. ZO_PreHook("ZO_InventorySlot_OnMouseEnter", function(arg) return arg == nil end)
It's probably not the best solution, but it works for me.

Prios 05/29/14 06:52 PM

Here's how I replicate the bug, consistently:

- open any comparative tooltip. In other words, click a chat link to a wearable item, or hover over a wearable quest reward/loot/inventory item/bank item.
- move the cursor away so that the tooltip closes. Important: Don't move the cursor onto another item.
- swap weapons.

Once triggered by closing a comparative tooltip, the bug persists until another tooltip is opened. In other words, hovering over a non-wearable item makes the bug go away (temporarily).

For me at least, this bug only occurs when Inventory Insight is loaded. If I disable II and leave all my other plugins enabled, I am unable to replicate this bug. If I enable II and disable all my other plugins, I am still able to replicate the bug.

lyravega 05/29/14 08:04 PM

I am getting a different error from PlayerToPlayer.lua, because of a different add-on. Till now, I had no problems using it (with API v*.*04 that is), on new API update they removed this event: EVENT_QUEST_SHARE_UPDATE

Now, my add-on auto-accepts shared quests if I so desire, but now sometimes the pop-up stays there even though you accepted the quest, and trying to accept a "nil" thing throws that error... I think the event that they have removed was supposed to check for that thing and remove the pop-up or something...

http://i.imgur.com/mdzPz6J.jpg
http://i.imgur.com/1MtlKMq.jpg

thelegendaryof 05/30/14 04:46 AM

Quote:

Originally Posted by ingeniousclown (Post 8308)
This was brought up in IRC. It's a noble idea, but ultimately not something that we need to fix if indeed it is ZO's fault. I don't mind fixing their UI, but we should not be fixing their bugs.

Something has changed in the last couple of weeks to make this issue start popping up everywhere.

I second that. Thought I always wonder where you guys get all the errors from ...
My client must be bug-resistant or something. :/

Wykdwolffie 07/09/14 12:09 AM

Quote:

Originally Posted by lateralus821 (Post 8291)
So this UI Error started popping up a few days ago and I haven't started using any new addons so I have no clue what it could be from. Any suggestions?


If you find out, please let me know!


All times are GMT -6. The time now is 06:05 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI