diff --git a/platform/platform-impl/src/com/intellij/openapi/project/impl/JBProtocolOpenProjectCommand.java b/platform/platform-impl/src/com/intellij/openapi/project/impl/JBProtocolOpenProjectCommand.java index 3af81dc1026f..9306509f500e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/impl/JBProtocolOpenProjectCommand.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/impl/JBProtocolOpenProjectCommand.java @@ -16,7 +16,9 @@ package com.intellij.openapi.project.impl; import com.intellij.ide.impl.ProjectUtil; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.JBProtocolCommand; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.LocalFileSystem; @@ -34,7 +36,8 @@ public class JBProtocolOpenProjectCommand extends JBProtocolCommand { @Override public void perform(String target, Map parameters) { String path = URLDecoder.decode(target); - path = StringUtil.trimStart(path, LocalFileSystem.PROTOCOL_PREFIX); - ProjectUtil.openProject(path, null, true); + String projectPath = StringUtil.trimStart(path, LocalFileSystem.PROTOCOL_PREFIX); + ApplicationManager.getApplication().invokeLater( + () -> ProjectUtil.openProject(projectPath, null, true), ModalityState.NON_MODAL); } }