Unverified Commit 2a8e25d8 authored by Ivan Matkov's avatar Ivan Matkov Committed by GitHub

Fix library load on SystemTheme (#868)

parent 265da836
...@@ -209,7 +209,7 @@ extern "C" ...@@ -209,7 +209,7 @@ extern "C"
return true; return true;
} }
JNIEXPORT jint JNICALL Java_org_jetbrains_skiko_SystemTheme_1awtKt_getCurrentSystemTheme(JNIEnv *env, jobject topLevel) JNIEXPORT jint JNICALL Java_org_jetbrains_skiko_SystemThemeHelper_getCurrentSystemTheme(JNIEnv *env, jobject topLevel)
{ {
int systemTheme = 0; int systemTheme = 0;
......
...@@ -29,7 +29,7 @@ extern "C" ...@@ -29,7 +29,7 @@ extern "C"
return (jlong) dsi_win->hwnd; return (jlong) dsi_win->hwnd;
} }
JNIEXPORT jint JNICALL Java_org_jetbrains_skiko_SystemTheme_1awtKt_getCurrentSystemTheme(JNIEnv *env, jobject topLevel) JNIEXPORT jint JNICALL Java_org_jetbrains_skiko_SystemThemeHelper_getCurrentSystemTheme(JNIEnv *env, jobject topLevel)
{ {
auto subkey = L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; auto subkey = L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize";
auto name = L"AppsUseLightTheme"; auto name = L"AppsUseLightTheme";
......
package org.jetbrains.skiko package org.jetbrains.skiko
actual val currentSystemTheme: SystemTheme actual val currentSystemTheme: SystemTheme
get() { get() = when (SystemThemeHelper.getCurrentSystemTheme()) {
Library.load()
return when (getCurrentSystemTheme()) {
0 -> SystemTheme.LIGHT 0 -> SystemTheme.LIGHT
1 -> SystemTheme.DARK 1 -> SystemTheme.DARK
else -> SystemTheme.UNKNOWN else -> SystemTheme.UNKNOWN
} }
private object SystemThemeHelper {
init {
Library.load()
} }
// Common external fun getCurrentSystemTheme(): Int
private external fun getCurrentSystemTheme(): Int }
...@@ -385,7 +385,7 @@ JNIEXPORT void JNICALL Java_org_jetbrains_skiko_PlatformOperationsKt_osxDisableT ...@@ -385,7 +385,7 @@ JNIEXPORT void JNICALL Java_org_jetbrains_skiko_PlatformOperationsKt_osxDisableT
} }
} }
JNIEXPORT jint JNICALL Java_org_jetbrains_skiko_SystemTheme_1awtKt_getCurrentSystemTheme(JNIEnv *env, jobject topLevel) JNIEXPORT jint JNICALL Java_org_jetbrains_skiko_SystemThemeHelper_getCurrentSystemTheme(JNIEnv *env, jobject topLevel)
{ {
@autoreleasepool { @autoreleasepool {
NSString *osxMode = [[NSUserDefaults standardUserDefaults] stringForKey:@"AppleInterfaceStyle"]; NSString *osxMode = [[NSUserDefaults standardUserDefaults] stringForKey:@"AppleInterfaceStyle"];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment