Plater Nameplates

Plater Nameplates

67M Downloads

Plater option menu trigger lua errors when clicking quickly

jadinm opened this issue ยท 3 comments

commented

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
commented

Note: could be happening due to the nature of delayed tab initialization.
The fix would be all tabs initializing on demand.

commented

Please update and reproduce again. You're not on the latest version.

commented

Indeed, not happening on Plater-v583a-Retail ;-)

Thanks !