ID:2888841
 
Resolved
Creating skin controls at runtime via the JavaScript winset caused a spurious error message in Options & Messages about the control.id parameter not being found.
BYOND Version:514
Operating System:Windows 10 Home 64-bit
Web Browser:Firefox 117.0
Applies to:Dream Seeker
Status: Resolved (515.1615)

This issue has been resolved.
Descriptive Problem Summary:
Creating a new control during runtime with Javascript winset gives a winset error in the client's options and messages window. The control is still made and works properly.
Numbered Steps to Reproduce Problem:
1. window.location = "byond://winset?id=myLabel1&type=label&parent=labelPane&text= asd";
2. Error - winset: Parameter myLabel1.id not found.
Code Snippet (if applicable) to Reproduce Problem:
client
mob
Login()
..()
winclone(src, "pane", "labelPane")
winset(src, "labelPane", "size=100x100")

src << {"window.location = "byond://winset?id=myLabel1&type=label&parent=labelPane&text=asd";"} // copy this to RunJS

verb
DeleteRuntimeControls()
var/r = winget(usr, "labelPane.*", "id")
var/l = params2list(r)
for(var/v in l - "labelPane.id")
var/id = l[v]
usr << "deleteing [id]"
winset(usr, id, "parent=null")

PrintLabelPane()
var/r = winget(usr, "labelPane.*", "id;type;text")
var/l = params2list(r)
usr << json_encode(l)

RunJS()
var/js = input(usr) as message
usr << browse("<body><script>[js]</script></body>")


Expected Results:
No error if there is no error.
Actual Results:
Error when no error.
Does the problem occur:
Every time? Or how often? Yes
In other games? Yes
In other user accounts? Yes
On other computers? Yes

When does the problem NOT occur?
When you don't make new runtime controls with Javascript winset.
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Tested in 514.1589 and 515.1614, same result.
Workarounds:
None really. Just ignore the error message.
Lummox JR resolved issue with message:
Creating skin controls at runtime via the JavaScript winset caused a spurious error message in Options & Messages about the control.id parameter not being found.