IDEA-244649 [sdk] Fire JDK changed after configuring a downloaded JDK

#IDEA-244649 Fixed

GitOrigin-RevId: 1bbd8d9912c1d82918191da3696dbf9587ee037f
This commit is contained in:
Louis Vignier
2022-04-28 11:12:07 +00:00
committed by intellij-monorepo-bot
parent b68f5d6085
commit 347809d256
2 changed files with 12 additions and 1 deletions
@@ -13,11 +13,14 @@ import com.intellij.openapi.progress.*;
import com.intellij.openapi.progress.util.ProgressIndicatorBase;
import com.intellij.openapi.progress.util.ProgressIndicatorListener;
import com.intellij.openapi.progress.util.RelayUiToDelegateIndicator;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectBundle;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.projectRoots.ProjectJdkTable;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkModificator;
import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.roots.impl.ProjectRootManagerImpl;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.NlsContexts;
@@ -436,6 +439,14 @@ public class SdkDownloadTracker {
}
sdkType.setupSdkPaths(sdk);
for (Project project: ProjectManager.getInstance().getOpenProjects()) {
final var rootManager = ProjectRootManagerImpl.getInstanceImpl(project);
final Sdk projectSdk = rootManager.getProjectSdk();
if (projectSdk != null && projectSdk.getName().equals(sdk.getName())) {
rootManager.projectJdkChanged();
}
}
}
catch (Exception e) {
LOG.warn("Failed to set up SDK " + sdk + ". " + e.getMessage(), e);
@@ -308,7 +308,7 @@ public class ProjectRootManagerImpl extends ProjectRootManagerEx implements Pers
projectJdkChanged();
}
protected void projectJdkChanged() {
public void projectJdkChanged() {
incModificationCount();
mergeRootsChangesDuring(getActionToRunWhenProjectJdkChanges());
fireJdkChanged();