From cc30351cde4fec6f8a9ebec3adb541ed65a4a42c Mon Sep 17 00:00:00 2001 From: Egor Eliseev Date: Fri, 29 Nov 2024 01:44:33 +0000 Subject: [PATCH] PY-77788 Fix Requires Thread annotations Merge-request: IJ-MR-150426 Merged-by: Egor Eliseev (cherry picked from commit 58bc50470e72e24d85869fb43a2556b6ecc01c61) IJ-MR-150426 GitOrigin-RevId: 0bb2402914a3fbb9dcda6a868ce87fdbca31af03 --- .../jetbrains/python/sdk/pipenv/ui/PyAddPipEnvPanel.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/python/src/com/jetbrains/python/sdk/pipenv/ui/PyAddPipEnvPanel.kt b/python/src/com/jetbrains/python/sdk/pipenv/ui/PyAddPipEnvPanel.kt index 2ed32265f1dd..b5ec38a29753 100644 --- a/python/src/com/jetbrains/python/sdk/pipenv/ui/PyAddPipEnvPanel.kt +++ b/python/src/com/jetbrains/python/sdk/pipenv/ui/PyAddPipEnvPanel.kt @@ -8,17 +8,18 @@ import com.intellij.openapi.diagnostic.getOrLogException import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory import com.intellij.openapi.module.Module import com.intellij.openapi.module.ModuleUtil -import com.intellij.openapi.progress.runBlockingCancellable import com.intellij.openapi.project.Project import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.ui.TextFieldWithBrowseButton import com.intellij.openapi.ui.ValidationInfo import com.intellij.openapi.util.UserDataHolder +import com.intellij.platform.ide.progress.ModalTaskOwner +import com.intellij.platform.ide.progress.runWithModalProgressBlocking import com.intellij.ui.DocumentAdapter import com.intellij.ui.components.JBCheckBox import com.intellij.ui.components.JBTextField import com.intellij.util.PlatformUtils -import com.intellij.util.concurrency.annotations.RequiresBackgroundThread +import com.intellij.util.concurrency.annotations.RequiresEdt import com.intellij.util.text.nullize import com.intellij.util.ui.FormBuilder import com.jetbrains.python.PyBundle @@ -132,12 +133,12 @@ class PyAddPipEnvPanel( update() } - @RequiresBackgroundThread + @RequiresEdt override fun getOrCreateSdk(): Sdk? { PropertiesComponent.getInstance().pipEnvPath = pipEnvPathField.text.nullize() val baseSdk = installSdkIfNeeded(baseSdkField.selectedSdk, selectedModule, existingSdks, context).getOrLogException(LOGGER)?.homePath - return runBlockingCancellable { + return runWithModalProgressBlocking(ModalTaskOwner.guess(), PyBundle.message("python.sdk.setting.up.pipenv.title")) { setupPipEnvSdkUnderProgress(project, selectedModule, existingSdks, newProjectPath, baseSdk, installPackagesCheckBox.isSelected).onSuccess { PySdkSettings.instance.preferredVirtualEnvBaseSdk = baseSdk