<Swing Dev> [9] RFR JDK-7190595: Nimbus: Test6657026 fails
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Tue Jan 24 14:16:11 UTC 2017
Hi All,
Please review a fix for an issue where it is seen
javax/swing/plaf/basic/BasicSplitPaneUI/Test6657026.java fails reporting
"Shared traversal keys" for Nimbus LaF.
Bug: https://bugs.openjdk.java.net/browse/JDK-7190595
webrev: http://cr.openjdk.java.net/~psadhukhan/7190595/webrev.00/
Issue was "managingFocusForwardTraversalKeys" and
"managingFocusBackwardTraversalKeys" is a static field in
http://hg.openjdk.java.net/jdk9/client/jdk/file/8270102790e5/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java#l51
so when JSplitPane is instantiated several times as in this particular
testcase,
managingFocusForwardTraversalKeys and managingFocusBackwardTraversalKeys
is NOT null from 2nd time so no keyStroke is added to this Set
so Set is not null but empty.
Now, since keyStrokes is cleared in the testcase between 2 JSplitPane
instantiation, next time getFocusTraversalKeys(0) is called, it returns
an empty Set so the test fails.
Proposed fix is to remove the "static" keyword from this 2 Sets so that
they gets instantiated each time JSplitPane is invoked.
This problem is not present for other LaF like Metal because for those
LaF, BasicSplitPaneUI is used instead of SynthSplitPaneUI (used only for
Nimbus) where these fields are not static
[http://hg.openjdk.java.net/jdk9/client/jdk/file/8270102790e5/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java#l109]
which are removed as per JDK-6657026 [Numerous static security flaws in
Swing(findbugs)]
Regards
Prasanta
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20170124/e1dbf90c/attachment.html>
More information about the swing-dev
mailing list