Plater option menu trigger lua errors when clicking quickly
jadinm opened this issue ยท 3 comments
Game and Plater version
Game:
wow retail 11.0.0.55824
/plater version output:
Plater-v583-Retail - DF v551 - 11.0.0
Describe the bug
- Steps to Reproduce (what did you do to make the bug happen):
Run /console scriptErrors 1.
Run /plater.
Then, switch a few of the tabs quickly.
- Result (what happens when you follow the steps above):
Eventually the lua error shown below is seen.
- Expected (what you think the expected behavior would be when following the steps):
No error
- When the bug started (a date, wow path release, details update, etc)?
I never tried it before today so I cannot say.
Lua Error
Message: Interface/AddOns/Plater/Plater_ScriptingPanels.lua:2416: attempt to index field 'ScriptOptionsPanelUser' (a nil value)
Time: Thu Jul 25 14:28:08 2024
Count: 3
Stack: Interface/AddOns/Plater/Plater_ScriptingPanels.lua:2416: attempt to index field 'ScriptOptionsPanelUser' (a nil value)
[string "@Interface/AddOns/Plater/Plater_ScriptingPanels.lua"]:2416: in function <Interface/AddOns/Plater/Plater_ScriptingPanels.lua:2411>
[string "=[C]"]: in function `Show'
[string "@Interface/AddOns/Details/Libs/DF/tabcontainer.lua"]:144: in function `SelectTabByIndex'
[string "@Interface/AddOns/Details/Libs/DF/tabcontainer.lua"]:351: in function <Interface/AddOns/Details/Libs/DF/tabcontainer.lua:351>
[string "=[C]"]: in function `xpcall'
[string "@Interface/AddOns/Details/Libs/DF/fw.lua"]:4649: in function `CoreDispatch'
[string "@Interface/AddOns/Details/Libs/DF/button.lua"]:734: in function <Interface/AddOns/Details/Libs/DF/button.lua:670>
Locals: (*temporary) = nil
(*temporary) = nil
(*temporary) = 0
(*temporary) = "PlaterOptionsPanelContainerAutoRunCodeScrollBox"
(*temporary) = <table> {
1 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine1 {
}
2 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine2 {
}
3 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine3 {
}
4 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine4 {
}
5 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine5 {
}
6 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine6 {
}
7 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine7 {
}
8 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine8 {
}
9 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine9 {
}
10 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine10 {
}
11 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine11 {
}
12 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine12 {
}
13 = PlaterOptionsPanelContainerAutoRunCodeScrollBoxLine13 {
}
}
(*temporary) = "PlaterOptionsPanelContainerAutoRunCodeScrollBox"
(*temporary) = nil
(*temporary) = nil
(*temporary) = 13
(*temporary) = "attempt to index field 'ScriptOptionsPanelUser' (a nil value)"
hookFrame = PlaterOptionsPanelContainerAutoRunCode {
DefaultScript = " function (self, unitId, unitFrame, envTable, modTable)
--insert code here
end
"
ScriptOptionButtonAdmin = <table> {
}
ScriptNameTextEntry = <table> {
}
ScriptScrollLabel = <table> {
}
ScriptIconButton = <table> {
}
RestoreScriptButton = <table> {
}
HookScrollBox = PlaterOptionsPanelContainerAutoRunCodeCreateScriptHookScrollBox {
}
DefaultSendCommScript = " function (modTable)
--called on a timer internally. use 'Plater.SendComm(payload)' to send comm-data if needed.
end
"
gradientBelowTheLine = <table> {
}
ScriptDescTextEntry = <table> {
}
gradientAboveTheLine = <table> {
}
LastAddedHookTime = 321969.225000
DefaultPayloadScript = " function (self, unitId, unitFrame, envTable, modTable, ...)
--vararg is the payload of the event, e.g. 'powerType' for power updates
end
"
tabIndex = 7
DefaultScriptNoNameplate = " function (modTable)
--insert code here
end
"
EditScriptFrame = PlaterOptionsPanelContainerAutoRunCodeCreateScript {
}
titleText = <table> {
}
ScriptSearchTextEntry = <table> {
}
DefaultReceiveCommScript = " function (modTable, source, ...)
--source is the player who sent the comm, vararg is the payload
end
"
ScriptType = "hook"
ScriptOptionButton = <table> {
}
ScriptPrioSlideEntry = <table> {
}
SearchString = ""
ScriptSelectionScrollBox = PlaterOptionsPanelContainerAutoRunCodeScrollBox {
}
ScriptEnabledLabel = <table> {
}
CreateButton = <table> {
}
bIsFrontPage = true
HelpFrame = PlaterHookHelp {
}
}
Plater = <table> {
ActorTypeSettingsCache = <table> {
}
modules = <table> {
}
ScriptAura = <table> {
}
AnchorNames = <table> {
}
ScriptMetaFunctions = <table> {
}
db = <table> {
}
fullVersionInfo = "Plater-v583a-Retail - DF v551 - 11.0.0"
Export_CastColo
Note: could be happening due to the nature of delayed tab initialization.
The fix would be all tabs initializing on demand.