BagSync

BagSync

3M Downloads

LUA Error (ElvUI Error with BagSync)

Opened this issue ยท 26 comments

commented

Hello,
I use the 14.1 version, seems broken with ElvUI :


Message: Interface\AddOns\ElvUI\Core\Toolkit.lua:135: attempt to call method 'SetBackdrop' (a nil value)
Time: Wed Oct 14 21:21:05 2020
Count: 1
Stack: Interface\AddOns\ElvUI\Core\Toolkit.lua:135: attempt to call method 'SetBackdrop' (a nil value)
[string "=(tail call)"]: ?
[string "@interface\AddOns\ElvUI\Core\Toolkit.lua"]:135: in function SetTemplate' [string "@Interface\AddOns\ElvUI\Modules\Skins\Addons\Ace3.lua"]:392: in function Ace3_RegisterAsContainer'
[string "@interface\AddOns\ElvUI\Modules\Skins\Addons\Ace3.lua"]:485: in function RegisterAsContainer' [string "@Interface\AddOns\Ace3\AceGUI-3.0\widgets\AceGUIContainer-Window.lua"]:331: in function ?'
[string "@interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua"]:108: in function <Interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua:97>
[string "@interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua"]:146: in function Create' [string "@Interface\AddOns\BagSync\modules\search.lua"]:28: in function <Interface\AddOns\BagSync\modules\search.lua:25> [string "=[C]"]: ? [string "@Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:70: in function <Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:65> [string "@Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:527: in function EnableAddon'
[string "@interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:540: in function `EnableAddon'
[string "@interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:630: in function <Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:615>

Locals:


Message: Interface\AddOns\ElvUI\Core\Toolkit.lua:135: attempt to call method 'SetBackdrop' (a nil value)
Time: Wed Oct 14 21:21:05 2020
Count: 1
Stack: Interface\AddOns\ElvUI\Core\Toolkit.lua:135: attempt to call method 'SetBackdrop' (a nil value)
[string "=(tail call)"]: ?
[string "@interface\AddOns\ElvUI\Core\Toolkit.lua"]:135: in function SetTemplate' [string "@Interface\AddOns\ElvUI\Modules\Skins\Addons\Ace3.lua"]:392: in function Ace3_RegisterAsContainer'
[string "@interface\AddOns\ElvUI\Modules\Skins\Addons\Ace3.lua"]:485: in function RegisterAsContainer' [string "@Interface\AddOns\Ace3\AceGUI-3.0\widgets\AceGUIContainer-Window.lua"]:331: in function ?'
[string "@interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua"]:108: in function <Interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua:97>
[string "@interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua"]:146: in function Create' [string "@Interface\AddOns\BagSync\modules\currency.lua"]:27: in function <Interface\AddOns\BagSync\modules\currency.lua:24> [string "=[C]"]: ? [string "@Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:70: in function <Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:65> [string "@Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:527: in function EnableAddon'
[string "@interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:540: in function `EnableAddon'
[string "@interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:630: in function <Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:615>

Locals:


Message: Interface\AddOns\ElvUI\Core\Toolkit.lua:135: attempt to call method 'SetBackdrop' (a nil value)
Time: Wed Oct 14 21:21:05 2020
Count: 1
Stack: Interface\AddOns\ElvUI\Core\Toolkit.lua:135: attempt to call method 'SetBackdrop' (a nil value)
[string "=(tail call)"]: ?
[string "@interface\AddOns\ElvUI\Core\Toolkit.lua"]:135: in function SetTemplate' [string "@Interface\AddOns\ElvUI\Modules\Skins\Addons\Ace3.lua"]:392: in function Ace3_RegisterAsContainer'
[string "@interface\AddOns\ElvUI\Modules\Skins\Addons\Ace3.lua"]:485: in function RegisterAsContainer' [string "@Interface\AddOns\Ace3\AceGUI-3.0\widgets\AceGUIContainer-Window.lua"]:331: in function ?'
[string "@interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua"]:108: in function <Interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua:97>
[string "@interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua"]:146: in function Create' [string "@Interface\AddOns\BagSync\modules\profiles.lua"]:28: in function <Interface\AddOns\BagSync\modules\profiles.lua:25> [string "=[C]"]: ? [string "@Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:70: in function <Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:65> [string "@Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:527: in function EnableAddon'
[string "@interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:540: in function `EnableAddon'
[string "@interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua"]:630: in function <Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:615>

Locals:

commented

Was just about to make the same post, also on 14.1

ElvUI error

12x ElvUI\Core\Toolkit.lua:135: attempt to call method 'SetBackdrop' (a nil value)
[string "@ElvUI\Core\Toolkit.lua"]:135: in function `SetTemplate'
[string "@ElvUI\Modules\Skins\Addons\Ace3.lua"]:392: in function `Ace3_RegisterAsContainer'
[string "@ElvUI\Modules\Skins\Addons\Ace3.lua"]:485: in function `RegisterAsContainer'
[string "@BagSync\libs\AceGUI-3.0-41\widgets\AceGUIContainer-Window.lua"]:331: in function `?'
[string "@BagSync\libs\AceGUI-3.0\AceGUI-3.0-41.lua"]:108: in function <BagSync\libs\AceGUI-3.0\AceGUI-3.0.lua:97>
[string "@BagSync\libs\AceGUI-3.0\AceGUI-3.0-41.lua"]:146: in function `Create'
[string "@BagSync\modules\search-Search.lua"]:28: in function <BagSync\modules\search.lua:25>
[string "=[C]"]: ?
[string "@BagSync\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:70: in function <...ceBagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:65>
[string "@BagSync\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:527: in function `EnableAddon'
[string "@BagSync\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:540: in function `EnableAddon'
[string "@BagSync\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:630: in function <...ceBagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:615>

And underlying BagSync error, related to AceGUI it seems

12x ...c\libs\AceGUI-3.0-41\widgets\AceGUIContainer-Window.lua:31: attempt to call method 'Fire' (a nil value)
[string "@BagSync\libs\AceGUI-3.0-41\widgets\AceGUIContainer-Window.lua"]:31: in function <...c\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:30>
[string "=[C]"]: in function `Hide'
[string "@BagSync\libs\AceGUI-3.0-41\widgets\AceGUIContainer-Window.lua"]:87: in function `Hide'
[string "@BagSync\libs\AceGUI-3.0-41\widgets\AceGUIContainer-Window.lua"]:36: in function <...c\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:34>

Locals:
this = <unnamed> {
 0 = <userdata>
 template = "Transparent"
 obj = <table> {
 }
 PixelSnapDisabled = true
}
(*temporary) = nil
(*temporary) = <table> {
 OnRelease = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:102
 OnWidthSet = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:129
 SetStatusText = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:82
 sizer_se = <unnamed> {
 }
 OnAcquire = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:94
 EnableResize = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:150
 line1 = <unnamed> {
 }
 SetStatusTable = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:110
 Hide = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:86
 OnHeightSet = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:140
 type = "Window"
 closebutton = <unnamed> {
 }
 content = <unnamed> {
 }
 sizer_e = <unnamed> {
 }
 ApplyStatus = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:116
 Show = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:90
 sizer_s = <unnamed> {
 }
 title = <unnamed> {
 }
 line2 = <unnamed> {
 }
 titletext = <unnamed> {
 }
 localstatus = <table> {
 }
 SetTitle = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:78
 frame = <unnamed> {
 }
}
(*temporary) = "OnClose"
(*temporary) = "attempt to call method 'Fire' (a nil value)"
commented

@Galiwyx If you just enable ElvUI + BagSync it should be fine.

It seems, that one of your Addons are using an old version from AceGUI, which breaks it.

commented

Since i'm an ElvUI Mod, i must disagree, cause BagSync works fine with ONLY ElvUI :P

Quite incorrect. I have never ever used ElvUI and I'm using BagSync just fine right now. In fact it's the only addon I have enabled as I'm doing other non-related fixes for it. When I do enable other Addons unrelated to ElvUI it works fine as well. So no BagSync doesn't ONLY WORK fine with ElvUI. However, that being said it could be something related to Ace3.

commented

It's worth investigating though and I'm not going to disregard it. I had closed this ticket as there is another one quite similar to this one.

#116

commented

At my end, ElvUI 12.0 and BagSync 14.1 as the only enabled addons, is making my in game ESC menu none responsive to my mouse. The menu doesnt even register the mouse hovering over the menu buttons.

With ElvUI as the only enabled addon or BagSync as the only enabled addon, I have no issues.

commented

At my end, ElvUI 12.0 and BagSync 14.1 as the only enabled addons, is making my in game ESC menu none responsive to my mouse. The menu doesnt even register the mouse hovering over the menu buttons.

With ElvUI as the only enabled addon or BagSync as the only enabled addon, I have no issues.

I'm beginning to suspect that it's an issue with AceGUI. I'm still investigating it. But your info does help, thanks for posting.

commented

At my end, ElvUI 12.0 and BagSync 14.1 as the only enabled addons, is making my in game ESC menu none responsive to my mouse. The menu doesnt even register the mouse hovering over the menu buttons.
With ElvUI as the only enabled addon or BagSync as the only enabled addon, I have no issues.

I'm beginning to suspect that it's an issue with AceGUI. I'm still investigating it. But your info does help, thanks for posting.

Keep up the good work, your addon is a lifesaver:)

commented

@martinboy1974 are you really sure it was only ElvUI + BagSync enabled? I bet you had also other ElvUI Plugins enabled such as (AddOnSkins or ProjectAzilroka) cause this two AddOns use an outdated Ace3

commented

This is a ElvUI Bug not a BagSync bug.

The bug is triggered by the following code.
Message: Interface\AddOns\ElvUI\Core\Toolkit.lua:135: attempt to call method 'SetBackdrop' (a nil value)
Time: Wed Oct 14 21:21:05 2020

Notice it saids ElvUI\Core\Toolkit.lua:135:. That's an ElvUI bug. Please update that addon or report it to the author. I just ran BagSync absolutely by itself and it ran just fine.

commented

Since i'm an ElvUI Mod, i must disagree, cause BagSync works fine with ONLY ElvUI :P

commented

@Xruptor I still get errors with 14.2 BagSync + ElvUI 12.0.0

There are 6 invisible windows with a white X in the top right that have to be clicked a number of times to remove them before you can click on the main menu, or anything else in the center of the screen.
image

I get one type of error on login, and another type of error when closing these windows.

These errors appear on login

62x ElvUI\Core\Toolkit.lua:135: attempt to call method 'SetBackdrop' (a nil value)
[string "@ElvUI\Core\Toolkit.lua"]:135: in function `SetTemplate'
[string "@ElvUI\Modules\Skins\Addons\Ace3.lua"]:392: in function `Ace3_RegisterAsContainer'
[string "@ElvUI\Modules\Skins\Addons\Ace3.lua"]:485: in function `RegisterAsContainer'
[string "@BagSync\libs\AceGUI-3.0-41\widgets\AceGUIContainer-Window.lua"]:331: in function `?'
[string "@BagSync\libs\AceGUI-3.0\AceGUI-3.0-41.lua"]:108: in function <BagSync\libs\AceGUI-3.0\AceGUI-3.0.lua:97>
[string "@BagSync\libs\AceGUI-3.0\AceGUI-3.0-41.lua"]:146: in function `Create'
[string "@BagSync\modules\search-Search.lua"]:28: in function <BagSync\modules\search.lua:25>
[string "=[C]"]: ?
[string "@BagSync\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:70: in function <...ceBagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:65>
[string "@BagSync\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:527: in function `EnableAddon'
[string "@BagSync\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:540: in function `EnableAddon'
[string "@BagSync\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:630: in function <...ceBagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:615>

Errors that occur when clicking the button to close the invisible windows (it appears there are actually 6 windows) (they eventually disappear). These invisible windows don't show if BagSync is disabled.

60x ...c\libs\AceGUI-3.0-41\widgets\AceGUIContainer-Window.lua:31: attempt to call method 'Fire' (a nil value)
[string "@BagSync\libs\AceGUI-3.0-41\widgets\AceGUIContainer-Window.lua"]:31: in function <...c\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:30>
[string "=[C]"]: in function `Hide'
[string "@BagSync\libs\AceGUI-3.0-41\widgets\AceGUIContainer-Window.lua"]:87: in function `Hide'
[string "@BagSync\libs\AceGUI-3.0-41\widgets\AceGUIContainer-Window.lua"]:36: in function <...c\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:34>

Locals:
this = <unnamed> {
 0 = <userdata>
 template = "Transparent"
 obj = <table> {
 }
 PixelSnapDisabled = true
}
(*temporary) = nil
(*temporary) = <table> {
 OnRelease = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:102
 OnWidthSet = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:129
 SetStatusText = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:82
 sizer_se = <unnamed> {
 }
 OnAcquire = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:94
 EnableResize = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:150
 line1 = <unnamed> {
 }
 SetStatusTable = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:110
 Hide = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:86
 OnHeightSet = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:140
 type = "Window"
 closebutton = <unnamed> {
 }
 content = <unnamed> {
 }
 sizer_e = <unnamed> {
 }
 ApplyStatus = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:116
 Show = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:90
 sizer_s = <unnamed> {
 }
 title = <unnamed> {
 }
 line2 = <unnamed> {
 }
 titletext = <unnamed> {
 }
 localstatus = <table> {
 }
 SetTitle = <function> defined @BagSync\libs\AceGUI-3.0\widgets\AceGUIContainer-Window.lua:78
 frame = <unnamed> {
 }
}
(*temporary) = "OnClose"
(*temporary) = "attempt to call method 'Fire' (a nil value)"

Hopefully this is helpful!

I inspected the windows with /framestack and this is what I see
image

commented

I still keep seeing the same error from ElvUI

62x ElvUI\Core\Toolkit.lua:135: attempt to call method 'SetBackdrop' (a nil value)
[string "@ElvUI\Core\Toolkit.lua"]:135: in function `SetTemplate'

Somewhere in that Toolkit they didn't apply the new MixIn for the Backdrops. BackdropTemplateMixin and "BackdropTemplate"
SetBackdrop was removed in the current patch. You have to use the BackdropTemplateMixin

This is silly... I'm going to look at their code myself.

commented

@paultreny
Thanks for the great info btw.

Can someone go to their ElvUI and try this.... I don't think it will make much of a difference but it's worth a try.

Open ElvUI\Core\Toolkit.lua

and replace the following
local backdrop = frame.backdrop or CreateFrame('Frame', nil, parent, 'BackdropTemplate')

with
local backdrop = frame.backdrop or CreateFrame('Frame', nil, parent, BackdropTemplateMixin and "BackdropTemplate")

Let me know if that removes the error.

commented

It will make absolute no difference

https://github.com/Stanzilla/WoWUIBugs/wiki/9.0.1-Consolidated-UI-Changes#backdrop-system-changes

"Frames no longer provide Backdrop related APIs by default and need to be opted-in by either inheriting BackdropTemplate OR including BackdropTemplateMixin"

Both were needed for backwards compatibility before 9.0, now you can just inherit 'BackdropTemplate'

commented

It will make absolute no difference

Yep I mentioned that. But it's worth a shot either case. Somehow ElvUI is triggering a SetBackDrop error when it shouldn't. BagSync could possibly be causing the issue but at the moment it's odd that the error that is constantly brought up is at that Toolkit in ElvUI. I'm not ruling anything out and if it is BagSync I will find it. Right now it's a tossup between BagSync, Elvui, and AceGUI.

commented

I think i got it: It is really Ace3 ๐Ÿ‘

Go in AceGUI-3.0\widgets\AceGUIContainer-Window.lua:

line 157 change:

local frame = CreateFrame("Frame",nil,UIParent)

to

local frame = CreateFrame("Frame",nil,UIParent,'BackdropTemplate')

and see the magic happen

๐Ÿคฆ

Update: We pushed also a fix to ElvUI: https://git.tukui.org/elvui/elvui/-/commit/7d3091988a65986cac1abe1ae73e4f945b4841e7

with that ^ you don't need the changes mentioned above

commented

I think i got it: It is really Ace3 ๐Ÿ‘

Go in AceGUI.3.0\widgets\AceGUIContainer-Window.lua:

line 157 change:

local frame = CreateFrame("Frame",nil,UIParent)

to

local frame = CreateFrame("Frame",nil,UIParent,'BackdropTemplate')

and see the magic happen

Wow you got it before I did. I was literally going through AceGUI right now. I'm tackling updating several other addons of mine. I was absolutely certain it was AceGUI but I was going through it bit by bit.

I'm glad you were able to find it. I want to thank you for your help @Merathilis as this has been frustrating for both of us to try to pinpoint this. :)

commented

We also pushed a fix to ElvUI: https://git.tukui.org/elvui/elvui/-/commit/7d3091988a65986cac1abe1ae73e4f945b4841e7

with this, you dont need to edit ace

btw. you can thank @kodewdle he is the man with the brain :D

commented

Simpy here. Sorry about that, in Beta I mostly tested with Ace3 having full BackdropTemplate support but they didn't want to add it on everything and it seems I missed one with the Window widget type not having it. Thanks and sorry again!

commented

@Merathilis It looks like nothing on my part is required which is great. :) You both rock, thanks @Simpy. @kodewdle

It's okay I wanted the addon to work with properly with ElvUI. That's why I didn't rule anything out. If it was my end I would have found it eventually.

On a side note this may happen to others and be triggered exactly in same location. It may be worth mentioning it to Ace3 developers. Though the default widget does not create a backdrop and I think that's what caused the issue in the first place. It would be best honestly to have them for future versions just add the BackdropTemplate.

commented

@Coopeke (https://github.com/Coopeke)
@Fizgig1973 (https://github.com/Fizgig1973)
@Pintapoff (https://github.com/pintapoff)

Also to everyone else here. I have recently updated to version 14.2. I squashed a number of bugs and I want to rule out a error causing all the issues with BagSync on ElvUI before I put my mind directly on figuring out the AceGUI issue. Considering again that I have no problems whatsoever and don't have ElvUI installed with other addons installed, still has me leaning towards a AceGUI issue.

commented

So I'm assuming it's okay for me to close this ticket right?

commented

It should be fine, yes. maybe the OP or someone else in here who had this problem should confirm it.

commented

Problem solving when its best - thx for the good work to all of you :)

My ESC menu now works again :)

commented

There we have it. Thx @martinboy1974 <3

commented

I think i got it: It is really Ace3 ๐Ÿ‘

Go in AceGUI-3.0\widgets\AceGUIContainer-Window.lua:

line 157 change:

local frame = CreateFrame("Frame",nil,UIParent)

to

local frame = CreateFrame("Frame",nil,UIParent,'BackdropTemplate')

and see the magic happen

๐Ÿคฆ

Update: We pushed also a fix to ElvUI: https://git.tukui.org/elvui/elvui/-/commit/7d3091988a65986cac1abe1ae73e4f945b4841e7

with that ^ you don't need the changes mentioned above

@Nevcairiel
Figured you should be aware of this issue. Though it was solved, the BackdropTemplate is missing from the AceGUIContainer-Window.lua. Could cause issues for other addons and if you see any of those errors then this will help pinpoint it for them.