From 278c7a09b30f0333269da13b9b38dff090d4ea0a Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Mon, 8 Feb 2016 20:05:13 +0100 Subject: [PATCH] ALL-452 Call URL decode in Idea platform --- .../intellij/ide/CommandLineProcessor.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/CommandLineProcessor.java b/platform/platform-impl/src/com/intellij/ide/CommandLineProcessor.java index a89f13fb1a82..d0bed22e870c 100644 --- a/platform/platform-impl/src/com/intellij/ide/CommandLineProcessor.java +++ b/platform/platform-impl/src/com/intellij/ide/CommandLineProcessor.java @@ -39,6 +39,8 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.io.File; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; import java.util.List; /** @@ -146,13 +148,19 @@ public class CommandLineProcessor { } if (command.startsWith(JetBrainsProtocolHandler.PROTOCOL)) { - JetBrainsProtocolHandler.processJetBrainsLauncherParameters(command); - ApplicationManager.getApplication().invokeLater(new Runnable() { - @Override - public void run() { - JBProtocolCommand.handleCurrentCommand(); - } - }, ModalityState.any()); + try { + final String url = URLDecoder.decode(command, "UTF-8"); + JetBrainsProtocolHandler.processJetBrainsLauncherParameters(url); + ApplicationManager.getApplication().invokeLater(new Runnable() { + @Override + public void run() { + JBProtocolCommand.handleCurrentCommand(); + } + }, ModalityState.any()); + } + catch (UnsupportedEncodingException e) { + LOG.error(e); + } return null; }