MountsJournal_Classic

MountsJournal_Classic

23.9k Downloads

[Cata Classic] Create Macro button non-working

Road-block opened this issue ยท 2 comments

commented

Environment

  • Addon version: v4.4.25
  • WoW version: 4.4.0

Steps to reproduce

  1. Settings > Main > Hit Create Macro

Expected Behaviour

Created macro on cursor or overwrite prompt if exists

Actual Behaviour

*Nothing* (error below)

Debug Output

2x MountsJournal/config/Main.lua:574: attempt to concatenate local 'buttonName' (a nil value)
[string "@MountsJournal/config/Main.lua"]:574: in function `createMacro'
[string "@MountsJournal/config/Main.lua"]:103: in function <MountsJournal/config/Main.lua:103>

Locals:
self = MountsJournalConfig {
 waterJump = CheckButton {
 }
 noPetInRaid = CheckButton {
 }
 createSecondMacroBtn = Button {
 }
 repairPercentText = FontString {
 }
 createMacro = <function> defined @MountsJournal/config/Main.lua:564
 cancelBtn = Button {
 }
 lockMinimapButton = CheckButton {
 }
 showMinimapButton = CheckButton {
 }
 minimapGroup = Frame {
 }
 freeSlots = CheckButton {
 }
 leftPanel = Frame {
 }
 createMacroBtn = Button {
 }
 repairFlyable = CheckButton {
 }
 OnRefresh = <function> defined @MountsJournal/config/Main.lua:481
 copyMountTarget = CheckButton {
 }
 modifierCombobox = Frame {
 }
 repairPercent = EditBox {
 }
 showWowheadLink = CheckButton {
 }
 openLinks = CheckButton {
 }
 rightPanel = Frame {
 }
 arrowButtons = CheckButton {
 }
 noPetInGroup = CheckButton {
 }
 repairFlyablePercentText = FontString {
 }
 repairFlyablePercent = EditBox {
 }
 0 = <userdata>
 macroName = "MJMacro"
 summonPetOnlyFavorites = CheckButton {
 }
 useRepairMounts = CheckButton {
 }
 summonPetMinutes = FontString {
 }
 repairMountsCombobox = Frame {
 }
 useMagicBroom = CheckButton {
 }
 summonPetEveryN = EditBox {
 }
 summonPetEvery = CheckButton {
 }
 secondMacroName = "MJSecondMacro"
 petGroup = Frame {
 }
 bindSummon1 = Button {
 }
 bindSummon2 = Button {
 }
 repairGroup = Frame {
 }
 applyBtn = Button {
 }
 OnCommit = <function> defined @MountsJournal/config/Main.lua:521
 freeSlotsNum = EditBox {
 }
 rightPanelScroll = ScrollFrame {
 }
}
macroName = "MJMacro"
buttonName = nil
texture = 303868
openMacroFrame = true
overwrite = nil
_ = nil
ctexture = nil
(*temporary) = "/click "
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to concatenate local 'buttonName' (a nil value)"
util = <table> {
 createFromEventsMixin = <function> defined @MountsJournal/Util.lua:177
 secureButtonNameSecondMount = "MountsJournal_SecondMount"
 setCopyBox = <function> defined @MountsJournal/Util.lua:410
 editBoxBackdrop = <table> {
 }
 darkPanelBackdrop = <table> {
 }
 inTable = <function> defined @MountsJournal/Util.lua:187
 setMixin = <function> defined @MountsJournal/Util.lua:169
 getMapFullNameInfo = <function> defined @MountsJournal/Util.lua:197
 filterButtonBackdrop = <table> {
 }
 secureButtonNameMount = "MountsJournal_Mount"
 setEventsMixin = <function> defined @MountsJournal/Util.lua:182
 expansion = 4
 refreshMacro = <function> defined @MountsJournal/mixins/MacroMixin.lua:563
 mountTypes = <table> {
 }
 checkAura = <function> defined @MountsJournal/Util.lua:296
 copyTable = <function> defined @MountsJournal/Util.lua:277
 sliderPanelBackdrop = <table> {
 }
 optionsPanelBackdrop = <table> {
 }
 cleanText = <function> defined @MountsJournal/Util.lua:291
 addonName = "MOUNTSJOURNAL_ADDON_"
 getGroupType = <function> defined @MountsJournal/Util.lua:286
 setHyperlinkTooltip = <function> defined @MountsJournal/Util.lua:269
 createCheckboxChild = <function> defined @MountsJournal/Util.lua:245
 getClassMacro = <function> defined @MountsJournal/mixins/MacroMixin.lua:558
 getUnitMount = <function> defined @MountsJournal/Util.lua:309
 setCheckboxChild = <function> defined @MountsJournal/Util.lua:231
}

Screenshots

commented

Bug happens because code tries to use self.secureButtonNameMount|secureButtonNameSecondMount self in this context is config

It should either use util.secureButtonNameMount|secureButtonNameSecondMount directly or

config.secureButtonNameMount = util.secureButtonNameMount
config.secureButtonNameSecondMount = util.secureButtonNameSecondMount

like it does for macroName|secondMacroName at the top.

commented

Thx you, fixed :)