diff --git a/idea/src/org/jetbrains/kotlin/idea/ProgressUtil.kt b/idea/src/org/jetbrains/kotlin/idea/ProgressUtil.kt index f956f593b05..e3d51869b52 100644 --- a/idea/src/org/jetbrains/kotlin/idea/ProgressUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/ProgressUtil.kt @@ -41,16 +41,20 @@ fun runInReadActionWithWriteActionPriorityWithPCE(f: () -> T): T { fun runInReadActionWithWriteActionPriority(f: () -> T): T? { var r: T? = null - val complete = ProgressIndicatorUtils.runInReadActionWithWriteActionPriority { + if (!with(ApplicationManager.getApplication()) { isDispatchThread && isUnitTestMode }) { + val complete = ProgressIndicatorUtils.runInReadActionWithWriteActionPriority { + r = f() + } + + if (!complete) return null + } + else { r = f() } - if (!complete) return null return r } - - fun Project.runSynchronouslyWithProgress(progressTitle: String, canBeCanceled: Boolean, action: () -> T): T? { var result: T? = null ProgressManager.getInstance().runProcessWithProgressSynchronously({ result = action() }, progressTitle, canBeCanceled, this)