RFR: 8340005: Eliminate native access calls from javafx.swing

Andy Goryachev angorya at openjdk.org
Tue Oct 15 15:35:17 UTC 2024


On Tue, 15 Oct 2024 03:18:09 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

> While implementing [JDK-8339517](https://bugs.openjdk.org/browse/JDK-8339517) to eliminate native access warnings by passing "--enable-native-access" for the three JavaFX modules with native code (javafx.graphics, javafx.media, and javafx.web), it was found  that the Swing interop code in javafx.swing calls a JNI method defined in one of the native graphics libraries (prism-common) directly
> 
> This means that even after [JDK-8339517](https://bugs.openjdk.org/browse/JDK-8339517) is fixed, we still get native access warnings when running any test that uses SwingNode.
> 
> This fixes the native access warning by making javafx.graphics module call the native JNI and Swing-interop calls the static utility method in javafx.graphics, in this case defined in PlatformImpl
> 
> All test.javafx.embed.swing SwingNode tests are running ok without any native warning

looks good on macOS (did not test on win/linux)

launching Tools -> JTextArea ... window from the monkey tester, the warning is silenced once `--enable-native-access=javafx.graphics` is added to the command line

left a minor comment

modules/javafx.swing/src/main/java/com/sun/javafx/embed/swing/newimpl/SwingNodeInteropN.java line 130:

> 128:     }
> 129: 
> 130: 

minor: extra newline?

-------------

Marked as reviewed by angorya (Reviewer).

PR Review: https://git.openjdk.org/jfx/pull/1600#pullrequestreview-2369789780
PR Review Comment: https://git.openjdk.org/jfx/pull/1600#discussion_r1801440624


More information about the openjfx-dev mailing list