diff --git a/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java b/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java index 31db6e09f9fa..939033657e42 100644 --- a/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java +++ b/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java @@ -520,9 +520,7 @@ public abstract class RecentProjectsManagerBase extends RecentProjectsManager im @Override public void projectClosing(Project project) { - synchronized (myStateLock) { - myState.names.put(getProjectPath(project), getProjectDisplayName(project)); - } + updateProjectName(project); } @Override @@ -538,6 +536,13 @@ public abstract class RecentProjectsManagerBase extends RecentProjectsManager im } } + public void updateProjectName(Project project) { + synchronized (myStateLock) { + myState.names.put(getProjectPath(project), getProjectDisplayName(project)); + } + clearNameCache(); + } + @NotNull public String getProjectName(@NotNull String path) { String cached = myNameCache.get(path); diff --git a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java index c3d234753c43..418a14d39b44 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java @@ -16,6 +16,7 @@ package com.intellij.openapi.project.impl; import com.intellij.ide.RecentProjectsManager; +import com.intellij.ide.RecentProjectsManagerBase; import com.intellij.ide.plugins.IdeaPluginDescriptor; import com.intellij.ide.startup.StartupManagerEx; import com.intellij.openapi.application.ApplicationManager; @@ -134,7 +135,7 @@ public class ProjectImpl extends PlatformComponentManagerImpl implements Project public void setProjectName(@NotNull String projectName) { if (!projectName.equals(myName)) { myName = projectName; - RecentProjectsManager.getInstance().clearNameCache(); + ((RecentProjectsManagerBase)RecentProjectsManager.getInstance()).updateProjectName(this); StartupManager.getInstance(this).runWhenProjectIsInitialized((DumbAwareRunnable)() -> { if (isDisposed()) return;