From 00c460b6c120b9ca6c40ff1d6473b963f72faa35 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 7 Mar 2013 18:39:58 +0100 Subject: [PATCH] [^yole] IDEA-102386 Cannot open additional project from console --- .../src/com/intellij/ide/CommandLineProcessor.java | 3 +++ platform/platform-impl/src/com/intellij/idea/SocketLock.java | 2 +- .../com/intellij/openapi/application/impl/ApplicationImpl.java | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/CommandLineProcessor.java b/platform/platform-impl/src/com/intellij/ide/CommandLineProcessor.java index e97ed83ff357..0f0a93d24bec 100644 --- a/platform/platform-impl/src/com/intellij/ide/CommandLineProcessor.java +++ b/platform/platform-impl/src/com/intellij/ide/CommandLineProcessor.java @@ -168,6 +168,9 @@ public class CommandLineProcessor { if (StringUtil.isQuotedString(arg)) { arg = StringUtil.stripQuotesAroundValue(arg); } + if (currentDirectory != null) { + arg = new File(currentDirectory, arg).getAbsolutePath(); + } if (line != -1) { final VirtualFile virtualFile = LocalFileSystem.getInstance().refreshAndFindFileByPath(arg); if (virtualFile != null) { diff --git a/platform/platform-impl/src/com/intellij/idea/SocketLock.java b/platform/platform-impl/src/com/intellij/idea/SocketLock.java index 7e15b46f7335..ecdf70aed992 100644 --- a/platform/platform-impl/src/com/intellij/idea/SocketLock.java +++ b/platform/platform-impl/src/com/intellij/idea/SocketLock.java @@ -161,7 +161,7 @@ public class SocketLock { if (result.contains(path)) { try { DataOutputStream out = new DataOutputStream(socket.getOutputStream()); - out.writeUTF(ACTIVATE_COMMAND + StringUtil.join(args, "\0")); + out.writeUTF(ACTIVATE_COMMAND + new File(".").getAbsolutePath() + "\0" + StringUtil.join(args, "\0")); out.flush(); String response = in.readUTF(); if (response.equals("ok")) { diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index 8edb74113ee8..019aff2aa49e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -251,7 +251,7 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application invokeLater(new Runnable() { @Override public void run() { - final Project project = CommandLineProcessor.processExternalCommandLine(args, null); + final Project project = CommandLineProcessor.processExternalCommandLine(args.subList(1, args.size()), args.get(0)); final JFrame frame; if (project != null) { frame = (JFrame)WindowManager.getInstance().getIdeFrame(project);