Thread Tools Display Modes
11/08/14, 06:43 AM   #1
Dingodan
 
Dingodan's Avatar
Join Date: Apr 2014
Posts: 50
FCO Itemsaver

Hello,

does anyone else have an problem with auto marking and fast deposit items to your bank? (Press fast the button you have bind to puish items into your bank)

The Addon Research Assistant is needed for the auto mark option.

I got the following bug message:

EsoUI/Ingame/Inventory/InventorySlot.lua:599: attempt to access a private function 'PickupInventoryItem' from insecure code
stack traceback:
EsoUI/Ingame/Inventory/InventorySlot.lua:599: in function 'TryBankItem'
EsoUI/Ingame/Inventory/InventorySlot.lua:1223: in function 'INDEX_ACTION_CALLBACK'
EsoUI/Ingame/Inventory/InventorySlotActions.lua:94: in function 'ZO_InventorySlotActionsoPrimaryAction'
EsoUI/Ingame/Inventory/ItemSlotActionController.lua:30: in function 'callback'
EsoUI/Libraries/ZO_KeybindStrip/ZO_KeybindStrip.lua:280: in function 'ZO_KeybindStrip:TryHandlingKeybindDown'
(tail call): ?
(tail call): ?
Does anyone have an solution for that bug?

Baertram the Autor of FCO_ItemSaver think ...
Sorry to see this bug happens, but it comes from a standard lua source code that the game developers have implemented.
ZO_KeybindStrip:TryHandlingKeybindDown
It is the source code reacting on your key "E", when you press it. It seems, because you do it really fast, it will try to react on something that is not there anymore

Last edited by Dingodan : 11/08/14 at 06:46 AM.
  Reply With Quote
11/08/14, 10:24 AM   #2
Randactyl
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 251
Just had this problem with Inventory Grid View.

It could be the genetic UI bug, however if you can get it to come up regularly it may be that some normally protected code is getting called from an unprotected context. For example, I caused it 100% when I post hooked the ZO_InventorySlot_OnMouseEnter function.
  Reply With Quote
11/24/14, 06:56 PM   #3
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,993
Thx for the hint to the post hook. But at the time the error occured I had not post hooked the OnMouse events in the inventories. With the current version I pre-hooked them to prevent deconstruction and destroying.

I'm not sure if the error is still there Dingodan?

Unfortunately the error only occured if you have FCOItemSaver activated and the automatic marking of researchable items (by help of the "researchable" data information coming from ResearchAssistant) is enabled. If you deactive the addon or the automatic marking function the fast moving of items from & to the bank seems to work just fine?

I cannot find the connection between the standard ESO lua function "ZO_KeybindStrip:TryHandlingKeybindDown'" and my addon. I never changed anything on the keybindings.
It must have something to do with the "data" table of the items. Maybe the item is moved too fast for the addon to read the "data" table and then it will react with this bug text instead of a better one :-)

I'm currently not able to fix this. I can reproduce the error, but I cannot see and understand where it comes form. All my changes and tests did not solve the problem so far.
  Reply With Quote
11/25/14, 07:20 AM   #4
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
Originally Posted by Baertram View Post
I cannot find the connection between the standard ESO lua function "ZO_KeybindStrip:TryHandlingKeybindDown'" and my addon. I never changed anything on the keybindings.
ZO_InventorySlot_OnMouseEnter
> UpdateMouseoverCommand (local in ingame/inventory/inventoryslot.lua)
> ZO_ItemSlotActionsController:New > SetInventorySlot > RefreshKeybindStrip
> ZO_KeybindStrip:UpdateKeybindButtonGroup

I've been digging around this error for so long, but never really succeeded in identifying the primary cause, much less a fix. Any add-on that hooks ZO_InventorySlot_OnMouseEnter might cause it. Doesn't matter how you do that, whether manually or via ZO_PreHook, fact is the function is replaced by an add-on created function, which means everything it calls down the chain isn't allowed to call protected/private functions directly.

When UpdateMouseoverCommand is called for the first time, it calls ZO_ItemSlotActionsController:New, which creates parameters for the primary command. Among those is the callback function:
Lua Code:
  1. callback = function()
  2.             if(self.selectedAction) then
  3.                 self:DoSelectedAction()
  4.             else
  5.                 slotActions:DoPrimaryAction()
  6.             end
  7.         end,

It's an anonymous function, and if created from hooked (non-privileged) ZO_InventorySlot_OnMouseEnter, will be non-privileged as well. I don't know why it sometimes bugs and sometimes not, or why when it bugs I'm able to put items into bank via my custom context-menu command (I'm not hooking OnMouseEnter, but DiscoverSlotActionsFromActionList), via custom chat slash-command, but not via 'E' key. Maybe I should put in some code to reproduce it reliably and dig more, I've given up on this lately
  Reply With Quote
11/25/14, 09:08 AM   #5
Dingodan
 
Dingodan's Avatar
Join Date: Apr 2014
Posts: 50
Originally Posted by Baertram View Post
Thx for the hint to the post hook. But at the time the error occured I had not post hooked the OnMouse events in the inventories. With the current version I pre-hooked them to prevent deconstruction and destroying.

I'm not sure if the error is still there Dingodan?

Unfortunately the error only occured if you have FCOItemSaver activated and the automatic marking of researchable items (by help of the "researchable" data information coming from ResearchAssistant) is enabled. If you deactive the addon or the automatic marking function the fast moving of items from & to the bank seems to work just fine?

I cannot find the connection between the standard ESO lua function "ZO_KeybindStrip:TryHandlingKeybindDown'" and my addon. I never changed anything on the keybindings.
It must have something to do with the "data" table of the items. Maybe the item is moved too fast for the addon to read the "data" table and then it will react with this bug text instead of a better one :-)

I'm currently not able to fix this. I can reproduce the error, but I cannot see and understand where it comes form. All my changes and tests did not solve the problem so far.
Yes, the error still exists. This error also occures when i press not so fast the key for put in or pull out items from/into the bank.
  Reply With Quote
11/29/14, 04:51 AM   #6
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,993
Thx for the information merlight! Very appreciated.

I'm only wondering why this bug only appears if I enable the automatic marking of researchable items in FCOItemSaver addon. If you disbale this option in the settings the bug won't appear?
But the hook on OnMouseEnter is always done, even if the setting is disabled.
maybe this helps you to find more information about that bug?

@Dingodan
I'm sorry to reapt my last answer then, even if merlight brought some more information how the bug might happen. Unfortunately I'm not able to remove this error. I need the OnMouseEnter event to protect items from beeing deconstructed.
Please turn of the automatic marking of researchable items to avoid the bug for today.

Workaround:
-> You could open the settings panel once a day, or before you want to craft, and just enable the automatic marking of researchable items, and then disable it again. As you enable it your inventory will be scanned and all researchable items will get marked.
I'll see if I can implement a keybinding to open the settings menu fast in the future.
  Reply With Quote

ESOUI » AddOns » AddOn Help/Support » FCO Itemsaver


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off