From 08d66bc5141bc2ef29912105193ed136a6bf5f5f Mon Sep 17 00:00:00 2001 From: Yahor Date: Mon, 15 Sep 2025 21:51:16 +0300 Subject: [PATCH] Use Dispatchers.IO when call macos picker --- .../filekit/dialogs/platform/mac/MacOSFilePicker.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/filekit-dialogs/src/jvmMain/kotlin/io/github/vinceglb/filekit/dialogs/platform/mac/MacOSFilePicker.kt b/filekit-dialogs/src/jvmMain/kotlin/io/github/vinceglb/filekit/dialogs/platform/mac/MacOSFilePicker.kt index 25da4c2f..82c5616c 100644 --- a/filekit-dialogs/src/jvmMain/kotlin/io/github/vinceglb/filekit/dialogs/platform/mac/MacOSFilePicker.kt +++ b/filekit-dialogs/src/jvmMain/kotlin/io/github/vinceglb/filekit/dialogs/platform/mac/MacOSFilePicker.kt @@ -7,6 +7,8 @@ import io.github.vinceglb.filekit.dialogs.platform.PlatformFilePicker import io.github.vinceglb.filekit.dialogs.platform.mac.foundation.Foundation import io.github.vinceglb.filekit.dialogs.platform.mac.foundation.ID import io.github.vinceglb.filekit.path +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext import java.io.File internal class MacOSFilePicker : PlatformFilePicker { @@ -54,15 +56,15 @@ internal class MacOSFilePicker : PlatformFilePicker { ) } - private fun callNativeMacOSPicker( + private suspend fun callNativeMacOSPicker( mode: MacOSFilePickerMode, directory: PlatformFile?, fileExtensions: Set?, title: String?, macOSSettings: FileKitMacOSSettings, - ): T? { + ): T? = withContext(Dispatchers.IO) { val pool = Foundation.NSAutoreleasePool() - return try { + try { var response: T? = null Foundation.executeOnMainThread(