diff --git a/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java b/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java index 20ea430402f0..d3faeb5eba03 100644 --- a/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java +++ b/platform/platform-impl/src/com/intellij/ide/RecentProjectsManagerBase.java @@ -501,12 +501,11 @@ public class RecentProjectsManagerBase extends RecentProjectsManager implements @Nullable public Project doOpenProject(@NotNull @SystemIndependent String projectPath, - Project projectToClose, + @Nullable Project projectToClose, boolean forceOpenInNewFrame, @Nullable IdeFrame frame) { - VirtualFile dotIdea = LocalFileSystem.getInstance().refreshAndFindFileByIoFile( - new File(projectPath, Project.DIRECTORY_STORE_FOLDER)); - + VirtualFile dotIdea = LocalFileSystem.getInstance() + .refreshAndFindFileByPath(FileUtilRt.toSystemIndependentName(projectPath) + "/" + Project.DIRECTORY_STORE_FOLDER); if (dotIdea != null) { EnumSet options = EnumSet.of(PlatformProjectOpenProcessor.Option.REOPEN); if (forceOpenInNewFrame) options.add(PlatformProjectOpenProcessor.Option.FORCE_NEW_FRAME); @@ -610,12 +609,11 @@ public class RecentProjectsManagerBase extends RecentProjectsManager implements } protected boolean willReopenProjectOnStart() { - return GeneralSettings.getInstance().isReopenLastProject() && getLastProjectPath() != null; + return getLastProjectPath() != null && GeneralSettings.getInstance().isReopenLastProject(); } protected void doReopenLastProject(@Nullable IdeFrame frame) { - GeneralSettings generalSettings = GeneralSettings.getInstance(); - if (!generalSettings.isReopenLastProject()) { + if (!GeneralSettings.getInstance().isReopenLastProject()) { return; } @@ -629,7 +627,7 @@ public class RecentProjectsManagerBase extends RecentProjectsManager implements } } - if (frame == null) { + if (!openPaths.isEmpty() && frame == null) { Activity activity = StartUpMeasurer.start("showFrame"); frame = ((WindowManagerImpl)WindowManager.getInstance()).showFrame(SplashManager.getHideTask()); activity.end(); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/WelcomeFrame.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/WelcomeFrame.java index de3b7bddd2f4..b904a214ff78 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/WelcomeFrame.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/WelcomeFrame.java @@ -18,6 +18,7 @@ import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.project.ProjectManagerListener; import com.intellij.openapi.util.DimensionService; import com.intellij.openapi.util.Disposer; +import com.intellij.openapi.util.SystemInfoRt; import com.intellij.openapi.wm.*; import com.intellij.openapi.wm.impl.IdeFrameImpl; import com.intellij.openapi.wm.impl.IdeGlassPaneImpl; @@ -174,7 +175,9 @@ public class WelcomeFrame extends JFrame implements IdeFrame, AccessibleContextA ((JFrame)frame).setVisible(true); IdeMenuBar.installAppMenuIfNeeded((JFrame)frame); ourInstance = frame; - ourTouchbar = TouchBarsManager.showDialogWrapperButtons(frame.getComponent()); + if (SystemInfoRt.isMac) { + ourTouchbar = TouchBarsManager.showDialogWrapperButtons(frame.getComponent()); + } } public static void showIfNoProjectOpened() { diff --git a/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java b/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java index 502d0974f234..53ef4c8ad18d 100644 --- a/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java +++ b/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java @@ -198,7 +198,9 @@ public class PlatformProjectOpenProcessor extends ProjectOpenProcessor implement () -> refResult.set(prepareAndOpenProject(virtualFile, options, finalBaseDir, finalDummyProject, finalDummyProjectName)), "Loading Project...", true, null, frame.getComponent() ); - if (progressCompleted) result = refResult.get(); + if (progressCompleted) { + result = refResult.get(); + } } if (result == null || result.first == null) {