Simple Item Levels

Simple Item Levels

2M Downloads

Bugsack catching a bug concerning "RegisterCanvasLayoutCategory"

kklattrup opened this issue ยท 10 comments

commented

Any plans for a fix? (I don't like bugs)

4x SimpleItemLevel\config.lua:205: attempt to call field 'RegisterCanvasLayoutCategory' (a nil value)
[string "@SimpleItemLevel\config.lua"]:205: in main chunk

Locals:
myname = "SimpleItemLevel"
ns = <table> {
 RegisterAddonHook = <function> defined @SimpleItemLevel\addon.lua:14
 ADDON_LOADED = <function> defined @SimpleItemLevel\addon.lua:38
 Print = <function> defined @SimpleItemLevel\addon.lua:6
 RegisterEvent = <function> defined @SimpleItemLevel\addon.lua:12
 defaults = <table> {
 }
 UnregisterEvent = <function> defined @SimpleItemLevel\addon.lua:13
 ForEquippedItems = <function> defined @SimpleItemLevel\addon.lua:448
}
myfullname = "Simple Item Level"
isClassic = true
makeFontString = <function> defined @SimpleItemLevel\config.lua:6
makeSlider = <function> defined @SimpleItemLevel\config.lua:20
makeDropdown = <function> defined @SimpleItemLevel\config.lua:129
makeCheckbox = <function> defined @SimpleItemLevel\config.lua:170
frame = <unnamed> {
 0 = <userdata>
 OnCommit = <function> defined @SimpleItemLevel\config.lua:201
 OnRefresh = <function> defined @SimpleItemLevel\config.lua:203
 OnDefault = <function> defined @SimpleItemLevel\config.lua:202
}
(*temporary) = nil
(*temporary) = <unnamed> {
 0 = <userdata>
 OnCommit = <function> defined @SimpleItemLevel\config.lua:201
 OnRefresh = <function> defined @SimpleItemLevel\config.lua:203
 OnDefault = <function> defined @SimpleItemLevel\config.lua:202
}
(*temporary) = "Simple Item Level"
(*temporary) = "attempt to call field 'RegisterCanvasLayoutCategory' (a nil value)"

commented

I've put up an alpha with 29ea938 which should stop you from getting the error. I'm not going to put much more effort into it, because the issue's fundamentally that some other addon is doing a bad-thing.

commented

That one's actually pretty weird -- are you seeing it in retail or in Wrath/Classic?

commented

Wrath Classic

commented

This is interesting. It's because some other addon you have installed is leaking a global variable called Settings... which is also what's used for the new settings framework that Blizzard added to 10.0.0. Because SimpleItemLevel runs in retail and classic, it tests whether that new framework exists first and then falls back to the older methods if it doesn't. But this other-addon has confused the test by making it look like it exists.

commented

image

commented

Probably the easiest initial step would be to go in game and type /dump Settings and see whether the table that's printed to the chat frame has any really-obvious keys in it that immediately make you think of some addon you have installed. Following that, the simplest route is just disabling addons and reloading the game until /dump Settings no longer outputs a table.

commented

The capital S is important -- it has to literally be Settings

commented

image
Found it. It's the addon "Profession Master"

commented

Thank you. - How would I go about finding the addon that's causing it? In my experience, any program leaking something is also soaking up additional ressources and can easily lead to more bugs.

commented

That does seem plausible -- if you disable Skillet and then /dump Settings is back to saying nil that'd confirm it.

If it is, it's probably worth filing a bug report with them because it's going to be breaking a bunch of stuff in the retail client.