Bug 405539 - Launching arguments are not correctly transferred into run
configuration
Signed-off-by: Vikas Chandra <Vikas.Chandra@in.ibm.com>
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/LaunchAction.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/LaunchAction.java
index dc3892a..c1f6a37 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/LaunchAction.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/LaunchAction.java
@@ -149,12 +149,16 @@
List<String> initialArgsList = Arrays.asList(DebugPlugin.splitArguments(initialArgs.toString()));
if (userArgs != null && userArgs.length() > 0) {
List<String> userArgsList = Arrays.asList(DebugPlugin.splitArguments(userArgs));
+ boolean previousHasSubArgument = false;
for (Iterator<String> iterator = userArgsList.iterator(); iterator.hasNext();) {
Object userArg = iterator.next();
- if (!initialArgsList.contains(userArg)) {
+ boolean hasSubArgument = userArg.toString().equals('-' + IEnvironment.P_OS) || userArg.toString().equals('-' + IEnvironment.P_WS);
+ hasSubArgument = hasSubArgument || userArg.toString().equals('-' + IEnvironment.P_ARCH) || userArg.toString().equals('-' + IEnvironment.P_NL);
+ if (!initialArgsList.contains(userArg) || hasSubArgument || previousHasSubArgument) {
initialArgs.append(' ');
initialArgs.append(userArg);
}
+ previousHasSubArgument = hasSubArgument;
}
}
return initialArgs.toString();