<div dir="ltr"><div>Hi Sergey,</div><div><br></div><div>(I am not a Reviewer).</div><div><br></div><div>Thanks for both the bug report and the fix, it looks good for me.</div><div><br></div><div>Laurent<br></div><br><div class="gmail_quote"><div dir="ltr">Le mer. 24 oct. 2018 à 23:32, Sergey Bylokhov <<a href="mailto:Sergey.Bylokhov@oracle.com">Sergey.Bylokhov@oracle.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello.<br>
Please review the fix for jdk 12.<br>
<br>
Bug: <a href="https://bugs.openjdk.java.net/browse/JDK-8211435" rel="noreferrer" target="_blank">https://bugs.openjdk.java.net/browse/JDK-8211435</a><br>
Webrev: <a href="http://cr.openjdk.java.net/~serb/8211435/webrev.00" rel="noreferrer" target="_blank">http://cr.openjdk.java.net/~serb/8211435/webrev.00</a><br>
<br>
Bug description:<br>
<br>
   In the DefaultKeyboardFocusManager class we have a special field "activeWindow", which stores the currently active window. It is used in two similar cases:<br>
  1. If the java window gets "WINDOW_ACTIVATED" event it will try to send "WINDOW_DEACTIVATED" to the old active window, which is stored in the "activeWindow" field.<br>
  2. If the java component lost the focus, and the opposite component is not a java component, then it will try to send "WINDOW_DEACTIVATED" to the old active window, which is stored in the "activeWindow" field.<br>
<br>
The difference in these two cases is that in "case 1" we check the old active window to null[1], and the second case has no such check. The bug is reproduced in non-standalone mode, when we have a few Appcontexts and this field might be updated by different EDT in parallel.<br>
<br>
Note that the test is for OSX only, because of another bug: JDK-8204142[2]<br>
<br>
<br>
[1] <a href="http://hg.openjdk.java.net/jdk/jdk/file/ad9077f044be/src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java#l527" rel="noreferrer" target="_blank">http://hg.openjdk.java.net/jdk/jdk/file/ad9077f044be/src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java#l527</a><br>
[2] <a href="https://bugs.openjdk.java.net/browse/JDK-8204142" rel="noreferrer" target="_blank">https://bugs.openjdk.java.net/browse/JDK-8204142</a></blockquote><div><br></div><div>Laurent <br></div></div></div>