AdvancedInterfaceOptions

AdvancedInterfaceOptions

10M Downloads

UIDropDownMenu.lua:426

Ludo46 opened this issue · 10 comments

commented

Date : 2024/07/24
Game Version : 11.0.0.55818
Addon Version : 1.9.0

I've this error :

1x ...ddOns/Blizzard_SharedXML/Mainline/UIDropDownMenu.lua:426: attempt to perform arithmetic on field 'numButtons' (a nil value)
[string "@Blizzard_SharedXML/Mainline/UIDropDownMenu.lua"]:426: in function `UIDropDownMenu_AddButton'
[string "@AdvancedInterfaceOptions/semlib/widgets.lua"]:525: in function `initialize'
[string "@AdvancedInterfaceOptions/semlib/widgets.lua"]:494: in function `SetValue'
[string "@AdvancedInterfaceOptions/semlib/widgets.lua"]:534: in function `CreateDropdown'
[string "@AdvancedInterfaceOptions/basicOptions.lua"]:961: in main chunk

Locals:
info = <table> {
 value = "NUMERIC"
 text = "Nombre"
}
level = 1
listFrame = DropDownList1 {
 Border = DropDownList1Backdrop {
 }
}
(*temporary) = nil
(*temporary) = "1"
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to perform arithmetic on field 'numButtons' (a nil value)"
envTable = <table> {
 ERR_OUT_OF_CHI = "Pas assez de chi"
 DH_HAVOC_CORE_ABILITY_2 = "Attaque puissante en mêlée qui consomme de la fureur. Si elle inflige un coup critique, une partie de la fureur est récupérée."
 MultiCastActionButton6Cooldown = MultiCastActionButton6Cooldown {
 }
 MerchantItem9ItemButtonStock = MerchantItem9ItemButtonStock {
 }
 UNIT_NAMES_COMBATLOG_TOOLTIP = "Colorer les noms des unités."
 HUD_EDIT_MODE_SETTING_ACTION_BAR_HIDE_BAR_ART = "Cacher les ornements de la barre"
 LE_GAME_ERR_CHAT_RAID_RESTRICTED_TRIAL = 783
 SPELL_FAILED_CUSTOM_ERROR_71 = "Ce bambocheur aimerait danser avec vous."
 LE_GAME_ERR_PET_SPELL_TARGETS_DEAD = 421
 ERROR_CLUB_TICKET_COUNT_AT_MAX_COMMUNITY = "Impossible de créer d’autres liens d’invitation pour cette communauté."
 RecruitAFriendFrame = RecruitAFriendFrame {
 }
 TutorialFrameLeft19 = TutorialFrameLeft19 {
 }
 MultiCastActionButton2Cooldown = MultiCastActionButton2Cooldown {
 }
 ERR_TRADE_EQUIPPED_BAG = "Vous ne pouvez pas échanger des sacs équipés."
 PVP_RANK_6_1 = "Caporal"
 MultiBarLeftButton7 = MultiBarLeftButton7 {
 }
 OPTION_TOOLTIP_SHOW_MULTIBAR4 = "Ancré sur le côté gauche de la barre d’actions droite 1 par défaut"
 LE_GAME_ERR_INVALID_FOLLOW_PVP_COMBAT = 375
 MerchantItem3AltCurrencyFrameItem1Text = MerchantItem3AltCurrencyFrameItem1Text {
 }
 PROFESSIONS_COLUMN_REAGENTS_NONE = "Aucun"
 OPTION_TOOLTIP_ACTION_BUTTON_USE_KEY_DOWN = "Les boutons d’action associés à un raccourci clavier se déclencheront au moment où la touche est enfoncée, et non relâchée."
 BINDING_NAME_NAMEPLATES = "Barres d’info des adversaires"
 CHAT_HEADER_SUFFIX = " : "
 COVENANT_MISSIONS_HEALTH = "Santé"
 MAIL_LETTER_TOOLTIP = "Cliquez pour faire une copie permanente
de cette lettre."
 PVPReadyDialogBottomArt = PVPReadyDialogBottomArt {
 }
 MultiBar6Button4Flash = MultiBar6Button4Flash {
 }
 ERR_NOAMMO_S = "%s"
 CHAT_CONFIG_OTHER_COMBAT = <table> {
 }
 ClassNameplateBarPaladinFrameRune5 = ClassNameplateBarPaladinFrameRune5 {
 }
 TutorialFrameRight19 = TutorialFrameRight19 {
 }
 BN_UNABLE_TO_RESOLVE_NAME = "Impossible de chuchoter un message à "%s". Les services Blizzard sont peut-être indisponibles."
 CinematicFrameRaidBossEmoteFrame = CinematicFrameRaidBossEmoteFrame {
 }
 LE_GAME_ERR_ONLY_ONE_QUIVER = 36
 INT_SPELL_DURATION_HOURS = "%d |4heure:heures;"
 LOSS_OF_CONTROL_DISPLAY_FEAR = "Peur"
 POWERBAR_PREDICTION_COLOR_MAELSTROM_CODE = "|cff003366"
 BankFrameItem17SearchOverlay = BankFrameItem17SearchOverlay {
 }
 DMG_LCD = "DÉG"
 ACTION_SPELL_MISSED_POSSESSIVE = "1"
 SLASH_STOPATTACK1 = "/stopattack"
 MAP_LEGEND_RARE_TOOLTIP = "Une créature spéciale qui rapporte diverses récompenses"
 MultiCastActionButton4HotKey = MultiCastActionButton4HotKey {
 }
 MINIMAP_TRACKING_TRAINER_CLASS = "Maître de classe"
 SLASH_DISMOUNT2 = "/descendre"
 DUNGEON_FLOOR_DRAGONBLIGHTCHROMIESCENARIO2 = "Andorhal"
 EMOTE69_CMD1 = "/curenez"
 WowTokenRedemptionFrameBg = WowTokenRedemptionFrameBg {
 }
 SPELL_FAILED_CUSTOM_ERROR_152 = "Vous devez choisir une spécialisation pour pouvoir utiliser Ascendance."
 AutoFollowStatus = AutoFollowStatus {
 }
 ARENA_CASUAL = "Escarmouche"
 STABLE_PET_ABILITIES_LIST_HEADER = "Techniques spéciales"
 SendStationeryBackgroundRight = SendStationeryBackgroundRight {
 }
 MultiBarLeftButton11Name = MultiBarLeftButton11Name {
 }
 KEY_ABBR_PADLSTICK = "|A:Gamepad_Gen_LStickIn_32:14:14|a"
 CONQUEST_BAR = "Conquête : %d/%d"
 
commented

I have it too. The menu system was fully re-built in 11.0, so it's likely all of these menus and dropdowns will need to be adapted to work with the new UI code. Unfortunately, this is only implemented in 11.0, not in Classic or Classic_Era, so backwards compatibility will need to exists for the previous clients until they migrate to the new system as well.

commented

Yeah I'm currently considering a move to https://github.com/p3lim-wow/Dashi/wiki/namespace#namespaceregistersettingssavedvariables-settings I don't really have time right now though

commented

I've never used Dashi before, but I have a load of experience with Ace3 libs. Is there a strong reason to use Dashi over Ace3? I'd think Ace3 would do the same as what the link above is showing. I'd be happy to help port some of this work to newer libs if you'd like a hand, and it would be pretty quick to make use of Ace3 for this

commented

I've never used Dashi before, but I have a load of experience with Ace3 libs. Is there a strong reason to use Dashi over Ace3? I'd think Ace3 would do the same as what the link above is showing. I'd be happy to help port some of this work to newer libs if you'd like a hand, and it would be pretty quick to make use of Ace3 for this

Mostly that it is simpler and takes advantage of all the new Settings APIs. They are going to change in 11.0.2 again btw. I would be open to accepting a PR that moves the basic options to Ace3 though.

commented

Yeah, once I get all of my own addons settled for 11.0 I'll take a look. There's a good amount of options in there, so it might take a minute to port them over. My own addon, Enhanced Raid Frames, has a similar interface to that of AdvancedInterfaceOptions done entirely using Ace3, so at least there precedent that it works well.

commented

Yeah, once I get all of my own addons settled for 11.0 I'll take a look. There's a good amount of options in there, so it might take a minute to port them over. My own addon, Enhanced Raid Frames, has a similar interface to that of AdvancedInterfaceOptions done entirely using Ace3, so at least there precedent that it works well.

Awesome, thank you, appreciate the help!

commented

@Stanzilla I sent in a PR with an initial (and gigantic) port over to Ace3. Please see my notes for explanations of my changes.

commented

Awesome, thank you! I'll check it out tomorrow

commented

As a temporary workaround, #90 fixes this and works on retail and classic.

commented

Fixed by #87