WoWInterface (
-   Lua/XML Help (
-   -   Blizzards InterfaceOptions framework issues (

Bringer 08-04-14 05:17 PM

Blizzards InterfaceOptions framework issues
1 Attachment(s)
While working on simple test code to verify the Boolean changes with version 6 World of Warcraft I stumbled upon a problem with InterfaceOptionsFrame_OpenToCategory(panel)

The code is just some quick and dirty that looks at how the running client version handles 0 | false | nil and 1 | true in logic structures and in Button check | select widgets.

What I found was if I included the above or even just InterfaceOptionsFrame:Show(); from within my addon code the default blizzard options got reset to default states. I believe the states are not being retrieve from the server, but I don't know since I wasn't even looking at the game options. This has been tested on 5.4.8 and current WoD beta.

I've looked at a number of other addons that are able to open the InterfaceOptionsFrame from addon without issue, but I can't figure out what they are doing that I missed.

I have searched here and via google and have scanned the current live version of FrameXML\GameMenuFrame (xml&lua) and InterfaceOptionsFrame (xlm&lua) without having the clue hammer hitting me.

The toc.. since that type can't be attached.

## Interface: 60000
## Version: 1
## X-SubVersion: AWod
## Title: Truth2


Note: I commented out the offending calls (located at the bottom of file) so someone not prepared wouldn't find all there game options reset.

suicidalkatt 08-04-14 06:36 PM

Pretty sure this has been a long standing issue but I've not looked at your code to see what API you're calling.

Some authors use this addon here:

This fixes a number of 'issues' with Blizzard code.

Phanx 08-04-14 07:26 PM

I would guess you're experiencing this problem because you're trying to open the Interface Options window in the main chunk, when nothing is really initialized yet. Normal addons do not do that, which is (probably) why they don't run into the same problem. Try triggering your test with a slash command that you run after you're fully logged in:


SLASH_TRUTHTEST1 = "/truthtest"
SlashCmdList.TRUTHTEST = function()
        if ( not InterfaceOptionsFrame:IsShown() ) then

(I left the last line commented since that function isn't defined in the code you posted.)

Also, reading your code full of generic globals rather made me want to gouge my eyes out with onion slices. :(

Bringer 08-04-14 09:03 PM

Thanks Phanx
After getting something to eat and raising my blood suger, I realized I had failed to let the game finish loading.
Your post confirmed.. code now works.
and I can throw it away... as I have my answers.. I did warn it was quick and dirty.:D

All times are GMT -6. The time now is 01:18 PM.

vBulletin © 2020, Jelsoft Enterprises Ltd
© 2004 - 2020 MMOUI