From 1f4f9ed7aaaf2f07c1aec7280ce27c7c9f705cd1 Mon Sep 17 00:00:00 2001 From: Vyacheslav Moklev Date: Wed, 27 Mar 2024 14:33:11 +0200 Subject: [PATCH] [RDCT] GTW-7343: Fix switching focus between project windows IJ-MR-130153 GitOrigin-RevId: 19d90502bd6bb1737f6e3628887ecf49289c8930 --- .../src/com/intellij/ide/RecentProjectsManagerBase.kt | 6 +++++- .../welcomeScreen/recentProjects/RecentProjectTreeItem.kt | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.kt b/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.kt index 6bf929ce74ff..ce416f65b1be 100644 --- a/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.kt +++ b/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.kt @@ -217,6 +217,10 @@ open class RecentProjectsManagerBase(coroutineScope: CoroutineScope) : protected open fun getProjectDisplayName(project: Project): String? = null + protected open fun focusProjectWindow(project: Project) { + ProjectUtil.focusProjectWindow(project = project) + } + fun getProjectIcon(path: String, isProjectValid: Boolean): Icon { return projectIconHelper.getProjectIcon(path, isProjectValid) } @@ -312,7 +316,7 @@ open class RecentProjectsManagerBase(coroutineScope: CoroutineScope) : projectManager.openProjects.firstOrNull { isSameProject(projectFile = projectFile, project = it) }?.let { project -> FUSProjectHotStartUpMeasurer.reportAlreadyOpenedProject() withContext(Dispatchers.EDT) { - ProjectUtil.focusProjectWindow(project = project) + focusProjectWindow(project) } return project } diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectTreeItem.kt b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectTreeItem.kt index d1863ea84643..6dff72e6e30e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectTreeItem.kt +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectTreeItem.kt @@ -2,6 +2,7 @@ package com.intellij.openapi.wm.impl.welcomeScreen.recentProjects import com.intellij.CommonBundle +import com.intellij.codeWithMe.ClientId import com.intellij.ide.* import com.intellij.ide.impl.OpenProjectTask import com.intellij.ide.lightEdit.LightEdit @@ -60,7 +61,7 @@ internal data class RecentProjectItem( companion object { fun openProjectAndLogRecent(file: Path, options: OpenProjectTask, projectGroup: ProjectGroup?) { - service().coroutineScope.launch { + service().coroutineScope.launch(ClientId.coroutineContext()) { RecentProjectsManagerBase.getInstanceEx().openProject(file, options) for (extension in ProjectDetector.EXTENSION_POINT_NAME.extensions) { extension.logRecentProjectOpened(projectGroup)