<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Looks good.<br>
    <br>
    --Semyon<br>
    <br>
    <div class="moz-cite-prefix">On 4/1/2016 1:58 PM, Manajit Halder
      wrote:<br>
    </div>
    <blockquote
      cite="mid:D9BEDC50-2D1D-45B6-B3BF-7990823D462E@oracle.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <font class="" face="Menlo">Hi Sergey,</font>
      <div class=""><font class="" face="Menlo"><br class="">
        </font></div>
      <div class=""><font class="" face="Menlo">Thank you for your
          review comments. The following scenarios were taken care while
          modifying the code along with your comments.</font></div>
      <div class="">
        <div class=""><font class="" face="Menlo"><br class="">
          </font></div>
        <div class=""><font class="" face="Menlo">Case 1) popup and
            newPopup refers to same object. In cases where the same
            popup menu is used thorughout the execution of the program
            or both of them are null.</font></div>
        <div class=""><font class="" face="Menlo">    a) first popup
            menu is null </font></div>
        <div class=""><font class="" face="Menlo"><span class="Apple-tab-span" style="white-space:pre">             </span>return
            0 as address.</font></div>
        <div class=""><font class="" face="Menlo">    b) first popup
            menu is not null</font></div>
        <div class=""><font class="" face="Menlo"><span class="Apple-tab-span" style="white-space:pre">             </span>poupup
            is already set in the constructor.</font></div>
        <div class=""><font class="" face="Menlo">    </font></div>
        <div class=""><font class="" face="Menlo">Case 2) popup and
            newPopup refers to different objects.</font></div>
        <div class=""><font class="" face="Menlo">    a) newPopup is not
            null.</font></div>
        <div class=""><font class="" face="Menlo">        i) popup is
            not null </font></div>
        <div class=""><font class="" face="Menlo"><span class="Apple-tab-span" style="white-space:pre">             </span>call
            removeNotify() on popup and set it to newPopup</font></div>
        <div class=""><font class="" face="Menlo">        ii) popup is
            null </font></div>
        <div class=""><font class="" face="Menlo"><span class="Apple-tab-span" style="white-space:pre">             </span>set
            popup to newPoup</font></div>
        <div class=""><font class="" face="Menlo">    b) newPopup is
            null then return 0 address (In this case the first popup
            menu is not checked for null because we are interested in
            the newPopup).</font></div>
      </div>
      <div class=""><font class="" face="Menlo"><br class="">
        </font></div>
      <div class="">
        <div class=""><font class="" face="Menlo">Please review the
            modified code @ </font></div>
        <div class=""><font class="" color="#954f72" face="Menlo"><a
              moz-do-not-send="true"
              href="http://cr.openjdk.java.net/%7Eaghaisas/manajit/8147841/webrev.01/"
              class=""><a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~aghaisas/manajit/8147841/webrev.01/">http://cr.openjdk.java.net/~aghaisas/manajit/8147841/webrev.01/</a></a></font></div>
      </div>
      <div class=""><font class="" face="Menlo"><br class="">
        </font></div>
      <div class=""><font class="" face="Menlo">Thanks,</font></div>
      <div class=""><font class="" face="Menlo">Manajit</font></div>
      <div class=""><br class="">
      </div>
      <div class="">
        <div>
          <blockquote type="cite" class="">
            <div class="">On 30-Mar-2016, at 11:53 pm, Sergey Bylokhov
              <<a moz-do-not-send="true"
                href="mailto:Sergey.Bylokhov@oracle.com" class="">Sergey.Bylokhov@oracle.com</a>>
              wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">Hi, Manajit.<br class="">
              Please double check two cases.<br class="">
              - The initial popup menu is set to null in CTrayIcon(); it
              seems after the fix it will never be changed to non-null
              value.<br class="">
              - Who and when will call removeNotify() on the old popup
              menu after you replace it by the new popup. it will be
              leaked?<br class="">
              <br class="">
              On 30.03.16 15:45, Manajit Halder wrote:<br class="">
              <blockquote type="cite" class="">Hi All,<br class="">
                <br class="">
                Kindly review the fix for JDK9.<br class="">
                <br class="">
                *Bug*:<br class="">
                _<a moz-do-not-send="true"
                  href="https://bugs.openjdk.java.net/browse/JDK-8147841_"
                  class="">https://bugs.openjdk.java.net/browse/JDK-8147841_</a><br
                  class="">
                _<br class="">
                _<br class="">
                *Webrev*:<br class="">
                <a moz-do-not-send="true"
                  href="http://cr.openjdk.java.net/%7Earapte/manajit/8147841/webrev.00/"
                  class="">http://cr.openjdk.java.net/~arapte/manajit/8147841/webrev.00/</a><br
                  class="">
                <br class="">
                *Issue: *<br class="">
                [macosx] Updating TrayIcons popup menu does not work on
                Mac OS X.<br class="">
                <br class="">
                *Cause: *<br class="">
                Wrong address of Popup menu was referred by native code
                (Mac OS). The<br class="">
                native side was always referring to the popup menu
                created initially and<br class="">
                the popup menu created later was not referred by the
                native code. Popup<br class="">
                menu was getting updated internally (in java code), the
                new popup menu<br class="">
                was not getting accessed/used by the native code (mac os
                x).<br class="">
                <br class="">
                Explanation with code points as below:<br class="">
                <br class="">
                File CTrayIcon.m:<br class="">
                On mouseDown event java method getPopupMenuModel was
                called<br class="">
                using JNFCallLongMethod. getPopupMenuModel on the java
                side was always<br class="">
                returning the address of the popup menu created
                initially and because of<br class="">
                this updated popup menus was not getting shown on
                clicking the Tray icon.<br class="">
                <br class="">
                *Fix: *<br class="">
                In method getPopupMenuModel the address of the new popup
                menu is updated<br class="">
                in case there is a new popup menu. If the new popup
                points to null then<br class="">
                0 is returned as address. And in cases the new popup and
                the initial<br class="">
                popup menu are same then the initial popup menu's
                address is returned.<br class="">
                <br class="">
                <br class="">
                Regards,<br class="">
                Manajit<br class="">
              </blockquote>
              <br class="">
              <br class="">
              -- <br class="">
              Best regards, Sergey.<br class="">
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
    </blockquote>
    <br>
  </body>
</html>