switch (sp.startMode) {
case StartInternal:
case StartExternal:
- arguments << sp.executable;
- foreach(const QString &arg, sp.processArgs)
- arguments << arg; // @TODO quoting/env
+ arguments << QDir::toNativeSeparators(sp.executable);
break;
case AttachExternal:
case AttachCrashedExternal: // @TODO: event handle for crashed?
m_outputBuffer.clear();
m_process.setEnvironment(mergeEnvironment(sp.environment.toStringList(), extensionFi.absolutePath()));
+#ifdef Q_OS_WIN
+ if (!sp.processArgs.isEmpty()) // Appends
+ m_process.setNativeArguments(sp.processArgs);
+#endif
m_process.start(executable, arguments);
if (!m_process.waitForStarted()) {
*errorMessage = QString::fromLatin1("Internal error: Cannot start process %1: %2").