From 96f6a67225b56002dcd7bdd4a19a526bca10ebfd Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Wed, 12 Feb 2014 15:30:39 +0400 Subject: [PATCH] update combobox on add local interpreter --- .../openapi/projectRoots/impl/SdkConfigurationUtil.java | 5 +++-- .../python/configuration/PyActiveSdkConfigurable.java | 5 ++++- 2 files changed, 7 insertions(+), 3 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 a076101072fa..0ff165617df8 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 @@ -332,8 +332,9 @@ public class SdkConfigurationUtil { @Nullable private static Sdk findByPath(SdkType sdkType, Sdk[] sdks, String sdkHome) { for (Sdk sdk : sdks) { - if (sdk.getSdkType() == sdkType && - FileUtil.pathsEqual(FileUtil.toSystemIndependentName(sdk.getHomePath()), FileUtil.toSystemIndependentName(sdkHome))) { + final String path = sdk.getHomePath(); + if (sdk.getSdkType() == sdkType && path != null && + FileUtil.pathsEqual(FileUtil.toSystemIndependentName(path), FileUtil.toSystemIndependentName(sdkHome))) { return sdk; } } diff --git a/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkConfigurable.java b/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkConfigurable.java index f1c195b10235..ca3855e6ff3c 100644 --- a/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkConfigurable.java +++ b/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkConfigurable.java @@ -115,7 +115,10 @@ public class PyActiveSdkConfigurable implements UnnamedConfigurable { @Override public void consume(Sdk sdk) { if (sdk == null) return; - mySdkAdded = true; + mySdkAdded = myProjectSdksModel.findSdk(sdk) == null; + if (mySdkAdded) { + myProjectSdksModel.addSdk(sdk); + } updateSdkList(false); mySdkCombo.getModel().setSelectedItem(sdk); myPackagesPanel.updatePackages(new PyPackageManagementService(myProject, sdk));