ID:2153255
 
Resolved
The pop control did not handle pos and size correctly in winget(), and also there was an error in the getter/setter for the pos parameter.
BYOND Version:511
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 53.0.2785.116
Applies to:Webclient
Status: Resolved (511.1360)

This issue has been resolved.
Descriptive Problem Summary:

As with the previous issue reported where specifying size for a pop element would cause the webclient to hang indefinitely, specifying pos of a pop element will cause the same issue.

When pos is not specified, the documented default value of 0,0 (upper left corner) is not respected. Instead, the pop-up window appears off the bottom of the screen to the left, with only the very top of its title bar just barely visible. So little will be visible that it's impossible to move it since you can only see and click on the border, but doing so will allow it to be stretched upward into visibility.

(This may have been responsible for my impression that it wasn't appearing at all in previous tests.)

Numbered Steps to Reproduce Problem:

1. Create a custom script file with a pop control and no specified pos.
2. Observe that it will display in the webclient, but rendered with its top corner at the bottom of the screen instead of the top.
3. Set pos=0,0 or any other value and restart/reconnect.
4. Observe that the webclient will not finish downloading the client.

Code Snippet (if applicable) to Reproduce Problem:
<div id=help byondclass=pop skinparams="is-visible=true;size=300x300;pos=0,0">
<div id=browser byondclass=browser></div>
</div>


Expected Results:

Pop-up window visible at 0,0 (upper left corner).

Actual Results:

Webclient will not finish loading.

Does the problem occur:
Every time? Or how often? Every time.
In other games? In my actual game project and my test project.
In other user accounts? Irrespective of user account.
On other computers? Yes.

When does the problem NOT occur? As noted above, the problem is not exactly the same when pos is not specified; the default value is parsed incorrectly but the browser will load. It also does not seem to occur with a translated skin, or with the auto-generated pop window created with the browse() function in DM.

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.) I can surmise that it or something like it was happening in the most recent two beta builds and the current stable release, based on my earlier experiences.

Workarounds:

Work exclusively with the browse() function or use translated skins. Not tenable for the long term.

I have dumped the relative script into my all-purpose test project, but honestly if you still have a copy (or the link to it) from the last time, you can just copy and paste the snippet I posted above. It is not necessary to do anything with the pop-up window; its existence in the script is sufficient.
Update: I don't believe it, but this morning the same script that was causing the hang with 100% consistency isn't. Still, any value in pos is being ignored, and the default of 0,0 is still being treated as bottom left rather than top left, with the result that the window is rendered 99.9% off screen.
I'll definitely get this fixed for the next build.
Lummox JR resolved issue with message:
The pop control did not handle pos and size correctly in winget(), and also there was an error in the getter/setter for the pos parameter.