diff --git a/platform/remoteDev-util/src/com/intellij/remoteDev/tests/impl/DistributedTestHost.kt b/platform/remoteDev-util/src/com/intellij/remoteDev/tests/impl/DistributedTestHost.kt index eb8939653805..3a584e098aa9 100644 --- a/platform/remoteDev-util/src/com/intellij/remoteDev/tests/impl/DistributedTestHost.kt +++ b/platform/remoteDev-util/src/com/intellij/remoteDev/tests/impl/DistributedTestHost.kt @@ -237,8 +237,10 @@ open class DistributedTestHost(coroutineScope: CoroutineScope) { // causes problems if not scheduled on ui thread session.closeProjectIfOpened.setSuspendPreserveClientId { _, _ -> - ProjectManagerEx.getOpenProjects().forEach { waitProjectInitialisedOrDisposed(it) } - ProjectManagerEx.getInstanceEx().closeAndDisposeAllProjects(checkCanClose = false) + withContext(Dispatchers.EDT + ModalityState.any().asContextElement() + NonCancellable) { + ProjectManagerEx.getOpenProjects().forEach { waitProjectInitialisedOrDisposed(it) } + ProjectManagerEx.getInstanceEx().closeAndDisposeAllProjects(checkCanClose = false) + } } /** * Includes closing the project