<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>