RFR: 8340005: Eliminate native access calls from javafx.swing [v2]
Andy Goryachev
angorya at openjdk.org
Tue Oct 15 18:21:17 UTC 2024
On Tue, 15 Oct 2024 17:46:33 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
>
> Prasanta Sadhukhan has updated the pull request incrementally with one additional commit since the last revision:
>
> Move native method to Application
modules/javafx.graphics/src/main/native-prism/SwingInterop.c line 27:
> 25:
> 26: #include <jni.h>
> 27: #include "com_sun_glass_ui_Application.h"
unrelated: do we have steps to ensure that the JNI headers are always included, or it is up to the reviewers?
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1600#discussion_r1801701156
More information about the openjfx-dev
mailing list