<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi, Nakul.<br>
Thanks for the fix.<br>
A few notes:<br>
- Please remove the bugid information from the comment since we
have mercurial history for such notes.<br>
- I suppose that the comment can be shorter, like this: "We need
an up to date size of the peer, so we flush the native events to
be sure that there are no setBounds requests in the queue."<br>
- Can you provide a test case for this bug, even if you cannot
reproduce it on your local system, you can write a test, which
will fail on the users system.<br>
<br>
On 02.03.2015 22:18, Nakul Natu wrote:<br>
</div>
<blockquote cite="mid:54F4B789.808@oracle.com" type="cite">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
Hello,<br>
<br>
Please review the fix for JDK 9.<br>
<br>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
CPlatformWindow set bounds using setBounds() which calls native
function nativeNSSetWindowBounds() -> calls the OSX function.
After that ox callbacks to java using deliverMoveresizeEvent()
where the peer or window associated with native window is notified
of change of bounds. <br>
<br>
In maximize() we need peer’s bound which are saved as normalBounds
to use them to unmaximize. <br>
<br>
The problem <br>
1. Customer creates window where the size width height is (1, 1) <br>
2. setSize call is made (600,900) which starts the setBounds
process described earlier <br>
3. setExtendedState(MAXIMIZED) is called which calls maximize().
But the callback for deliverMoveresizeEvent() has not yet
processed and the the bounds we get are earlier (1,1). <br>
4. Window is maximized. <br>
5. Now when we try to unmaximize or iconify the window the size is
set to (1,1) and we can’t see the window. <br>
<br>
Even if we are using the bounds which are available (as the event
processing is asynchronous) this can cause lot of problems as the
window just disappears. Adding LWCToolkit.flushNativeSelectors();
just before saving the bounds can get us the correct bounds which
we are expecting. <br>
<br>
Bug : <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://bugs.openjdk.java.net/browse/JDK-8066436">https://bugs.openjdk.java.net/browse/JDK-8066436</a><br>
Webrev: <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Evan/8066436/webrev.00/">http://cr.openjdk.java.net/~van/8066436/webrev.00/</a><br>
<br>
Regards,<br>
Nakul<br>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<br>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Best regards, Sergey. </pre>
</body>
</html>