<AWT Dev> [12] Review Request: 8211435 Exception in thread "AWT-EventQueue-1" java.lang.IllegalArgumentException: null source

Phil Race philip.race at oracle.com
Tue Oct 30 17:19:49 UTC 2018


Looks good to me.

I'll take this opportunity to ask a question to people on this list.
Now that we've removed plugin+webstart, do we still need AppContext at all ?
Can the entire mechanism be removed from all sources ?
Or is there still some useful reason for keeping it ?

Even though it is internal, external apps could be using it *indirectly* 
by using
separate ThreadGroups / class loaders but what would be their purpose in 
this ?

-phil.

On 10/24/18 2:31 PM, Sergey Bylokhov wrote:
> Hello.
> Please review the fix for jdk 12.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8211435
> Webrev: http://cr.openjdk.java.net/~serb/8211435/webrev.00
>
> Bug description:
>
>   In the DefaultKeyboardFocusManager class we have a special field 
> "activeWindow", which stores the currently active window. It is used 
> in two similar cases:
>  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.
>  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.
>
> 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.
>
> Note that the test is for OSX only, because of another bug: 
> JDK-8204142[2]
>
>
> [1] 
> http://hg.openjdk.java.net/jdk/jdk/file/ad9077f044be/src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java#l527
> [2] https://bugs.openjdk.java.net/browse/JDK-8204142
>
>



More information about the awt-dev mailing list