Skip to content

Commit

Permalink
Fix library load on SystemTheme (#868)
Browse files Browse the repository at this point in the history
  • Loading branch information
MatkovIvan authored Feb 7, 2024
1 parent 265da83 commit 2a8e25d
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 11 deletions.
2 changes: 1 addition & 1 deletion skiko/src/awtMain/cpp/linux/theme.cc
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ extern "C"
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;

Expand Down
2 changes: 1 addition & 1 deletion skiko/src/awtMain/cpp/windows/drawlayer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ extern "C"
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 name = L"AppsUseLightTheme";
Expand Down
18 changes: 10 additions & 8 deletions skiko/src/awtMain/kotlin/org/jetbrains/skiko/SystemTheme.awt.kt
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
package org.jetbrains.skiko

actual val currentSystemTheme: SystemTheme
get() {
get() = when (SystemThemeHelper.getCurrentSystemTheme()) {
0 -> SystemTheme.LIGHT
1 -> SystemTheme.DARK
else -> SystemTheme.UNKNOWN
}

private object SystemThemeHelper {
init {
Library.load()
return when (getCurrentSystemTheme()) {
0 -> SystemTheme.LIGHT
1 -> SystemTheme.DARK
else -> SystemTheme.UNKNOWN
}
}

// Common
private external fun getCurrentSystemTheme(): Int
external fun getCurrentSystemTheme(): Int
}
2 changes: 1 addition & 1 deletion skiko/src/awtMain/objectiveC/macos/Drawlayer.mm
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
NSString *osxMode = [[NSUserDefaults standardUserDefaults] stringForKey:@"AppleInterfaceStyle"];
Expand Down

0 comments on commit 2a8e25d

Please sign in to comment.