sirinsidiator / ESO-LibAddonMenu

http://www.esoui.com/downloads/info7-LibAddonMenu.html
Artistic License 2.0
41 stars 20 forks source link

controls are not showing in some cases in r27 #92

Closed sirinsidiator closed 5 years ago

sirinsidiator commented 5 years ago

Several people started to report addon menus no longer working after installing r27. Find out why and fix asap. First step is to get a reliable reproduction of the issue.

Baertram commented 5 years ago

Image with example options which get cleared (all below the author and addon base panel info): https://i.ibb.co/LdXVMxC/Unbenannt.png

The users told me it happens if they press ESC, then go to AddOn settings and select FCOItemSaver settings e.g. They have tested it with LAM r27 and FCOIS + needed libs enabled -> Empty LAM panel for FCOIS. And with LAM r26 it''s ok, no empty LAM panel.

Baertram commented 5 years ago

Should be a bug raised in FCOIS source code on it's own! No lam problem. Overwrote the OnEffectiveShown handler function...

klingo commented 5 years ago

I am able to reproduce the issue with FCOIS; all other addons seem to work fine though.

Played around a bit with commenting out parts of your menu code and then finally found the problematic lines:

6003:    FCOItemSaver_LAM:SetHandler("OnEffectivelyShown", function()
6004:        FCOIS.toggleFeedbackButton(true)
6005:    end)

When commenting out these three lines, then the FCOIS menu/settings show up correctly again; with LAM r27 (but without the Feedback button).

Edit: Baertram was 30s faster :)

sirinsidiator commented 5 years ago

Thanks guys! I'll add some code to detect this and show a warning when an addon tries to set the OnEffectivelyShown handler. They should be using the LAM-PanelOpened callback anyways, since it will ensure that it only fires when the panel is ready (all controls created) and not again until the panel was actually closed.

sirinsidiator commented 5 years ago

And for the record, this is caused by the fix in #82 . That's why it wasn't an issue before r27.