From edb80ec0ca9d22e8d373c279ec823ef86d052345 Mon Sep 17 00:00:00 2001 From: Karlatemp <karlatemp@vip.qq.com> Date: Sat, 2 May 2020 19:12:38 +0800 Subject: [PATCH] Fix the error that directly closing the verification code window will block the coroutine. --- .../kotlin/net/mamoe/mirai/utils/WindowHelperJvm.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/WindowHelperJvm.kt b/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/WindowHelperJvm.kt index c9487dc6f..1de87c9f7 100644 --- a/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/WindowHelperJvm.kt +++ b/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/WindowHelperJvm.kt @@ -22,6 +22,7 @@ import java.awt.event.WindowAdapter import java.awt.event.WindowEvent import javax.swing.JFrame import javax.swing.JTextField +import javax.swing.SwingUtilities // 隔离类代码 internal object WindowHelperJvm { @@ -88,7 +89,9 @@ internal suspend fun openWindow(title: String = "", initializer: WindowInitialzi frame.title = title frame.isVisible = true - val result = def.await() - frame.dispose() + val result = def.await().trim() + SwingUtilities.invokeLater { + frame.dispose() + } return result }