From 302c9c713aa398b023efbe8902f33d0321d7be2b Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 6 May 2010 22:01:19 +0400 Subject: [PATCH] don't run external scripts under a write action (IDEA-54185) --- .../impl/SdkConfigurationUtil.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java index 0c860a3ff64b..861611e4ff47 100644 --- a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java +++ b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java @@ -104,26 +104,26 @@ public class SdkConfigurationUtil { @Nullable public static Sdk setupSdk(final VirtualFile homeDir, final SdkType sdkType, final boolean silent) { + final Sdk[] sdks = ProjectJdkTable.getInstance().getAllJdks(); + final ProjectJdkImpl projectJdk; + try { + final String sdkName = createUniqueSdkName(sdkType, homeDir.getPath(), Arrays.asList(sdks)); + projectJdk = new ProjectJdkImpl(sdkName, sdkType); + projectJdk.setHomePath(homeDir.getPath()); + sdkType.setupSdkPaths(projectJdk); + } + catch (Exception e) { + if (!silent) { + Messages.showErrorDialog("Error configuring SDK: " + + e.getMessage() + + ".\nPlease make sure that " + + FileUtil.toSystemDependentName(homeDir.getPath()) + + " is a valid home path for this SDK type.", "Error configuring SDK"); + } + return null; + } return ApplicationManager.getApplication().runWriteAction(new NullableComputable() { public Sdk compute() { - final Sdk[] sdks = ProjectJdkTable.getInstance().getAllJdks(); - ProjectJdkImpl projectJdk; - try { - final String sdkName = createUniqueSdkName(sdkType, homeDir.getPath(), Arrays.asList(sdks)); - projectJdk = new ProjectJdkImpl(sdkName, sdkType); - projectJdk.setHomePath(homeDir.getPath()); - sdkType.setupSdkPaths(projectJdk); - } - catch (Exception e) { - if (!silent) { - Messages.showErrorDialog("Error configuring SDK: " + - e.getMessage() + - ".\nPlease make sure that " + - FileUtil.toSystemDependentName(homeDir.getPath()) + - " is a valid home path for this SDK type.", "Error configuring SDK"); - } - return null; - } ProjectJdkTable.getInstance().addJdk(projectJdk); return projectJdk; }