Native Libraries:

- made C methods `static` (similar to `private` in Java) to avoid that they are added (exported) to shared library symbol table
- macOS and Linux: added `-fvisibility=hidden` to compiler options to mark C methods hidden by default
This commit is contained in:
Karl Tauber
2025-01-07 19:49:04 +01:00
parent d7462bd424
commit 251198c66d
10 changed files with 72 additions and 32 deletions

View File

@@ -30,6 +30,7 @@
* @author Karl Tauber
*/
// declare exported methods
HWND getWindowHandle( JNIEnv* env, jobject window );
//---- JNI methods ------------------------------------------------------------

View File

@@ -26,8 +26,8 @@
* @since 3.6
*/
// see FlatWndProc.cpp
HWND getWindowHandle( JNIEnv* env, jobject window );
// declare external methods
extern HWND getWindowHandle( JNIEnv* env, jobject window );
//---- class AutoReleasePtr ---------------------------------------------------
@@ -147,12 +147,12 @@ public:
#define isOptionSet( option ) ((optionsSet & com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_ ## option) != 0)
#define CHECK_HRESULT( code ) { if( (code) != S_OK ) return NULL; }
jobjectArray newJavaStringArray( JNIEnv* env, jsize count ) {
static jobjectArray newJavaStringArray( JNIEnv* env, jsize count ) {
jclass stringClass = env->FindClass( "java/lang/String" );
return env->NewObjectArray( count, stringClass, NULL );
}
jstring newJavaString( JNIEnv* env, LPWSTR str ) {
static jstring newJavaString( JNIEnv* env, LPWSTR str ) {
return env->NewString( reinterpret_cast<jchar*>( str ), static_cast<jsize>( wcslen( str ) ) );
}

View File

@@ -25,8 +25,8 @@
* @author Karl Tauber
*/
// see FlatWndProc.cpp
HWND getWindowHandle( JNIEnv* env, jobject window );
// declare external methods
extern HWND getWindowHandle( JNIEnv* env, jobject window );
//---- Utility ----------------------------------------------------------------