From 96068ab7a20bb0effde8ff40f4f4b8df0b82455c Mon Sep 17 00:00:00 2001 From: Anastasia Katsman Date: Thu, 2 May 2024 15:51:28 +0200 Subject: [PATCH] [rdct-tests] fix wrong modality state on closing project sometimes GitOrigin-RevId: 0bcedf932ed13196756ec35008933d8a26c51f00 --- .../intellij/remoteDev/tests/impl/DistributedTestHost.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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