Oh I was doing it wrong, I was able to reproduce it.
I was right clicking on my name & clicking "Edit Note" I didn't realize there was a note button to click on.
If I click on the note button next to my name & do what you said I do get the error.
It looks like this is the problem here:
When you click on the row note button, it calls:
Lua Code:
<OnClicked>
ZO_KeyboardGuildRosterRowNote_OnClicked(self)
</OnClicked>
Lua Code:
function ZO_KeyboardGuildRosterRowNote_OnClicked(control)
-- Which calls this:
GUILD_ROSTER_KEYBOARD:Note_OnClicked(control)
end
and GUILD_ROSTER_KEYBOARD is defined/created here:
Lua Code:
function ZO_KeyboardGuildRoster_OnInitialized(control)
GUILD_ROSTER_KEYBOARD = ZO_KeyboardGuildRosterManager:New(control)
end
and ZO_KeyboardGuildRosterManager is a subclass of ZO_SocialListKeyboard:
Lua Code:
local ZO_KeyboardGuildRosterManager = ZO_SocialListKeyboard:Subclass()
So its actually calling this function:
Lua Code:
function ZO_SocialListKeyboard:Note_OnClicked(control)
local data = ZO_ScrollList_GetData(control:GetParent())
ZO_Dialogs_ShowDialog("EDIT_NOTE", {displayName = data.displayName, note = data.note, changedCallback = self.noteEditedFunction})
end
Which means its trying to set:
Lua Code:
changedCallback = GUILD_ROSTER_KEYBOARD.noteEditedFunction
-- because self = GUILD_ROSTER_KEYBOARD
but GUILD_ROSTER_KEYBOARD doesn't have a noteEditedFunction
The noteEditedFunction is in: GUILD_ROSTER_MANAGER
Somewhere it needs to set the noteEditedFunction. Cant do it in the ZO_SocialListKeyboard:Note_OnClicked(control), because its shared with the friends list note edit, (maybe others too).
The easiest solution would probably be to just set it right here, right before it calls the function to show the dialog:
Lua Code:
function ZO_KeyboardGuildRosterRowNote_OnClicked(control)
GUILD_ROSTER_KEYBOARD.noteEditedFunction = GUILD_ROSTER_MANAGER:GetNoteEditedFunction()
GUILD_ROSTER_KEYBOARD:Note_OnClicked(control)
end
Or give it its own function to show the dialog, like they did with the ignore list:
Lua Code:
function ZO_KeyboardIgnoreListManager:IgnoreListPanelRowNote_OnClicked(control)
local data = ZO_ScrollList_GetData(control:GetParent())
if data then
local displayName, note = GetIgnoredInfo(data.index)
ZO_Dialogs_ShowDialog("EDIT_NOTE", {displayName = displayName, note = note, changedCallback = IGNORE_LIST_MANAGER:GetNoteEditedFunction()})
end
end
By the way: The Friends list has the same bug