From 37025865777986a3223381811da42fb11ed80ba6 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 19 Feb 2014 14:30:07 +0100 Subject: [PATCH] Re-arrange Ctrl-C stub argument passing. Change-Id: I59b96446c5430b96a6daf05aa785f4c0e7e4a42b Reviewed-by: Oswald Buddenhagen --- src/libs/utils/qtcprocess.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index bc8a855ff9c..804bb8e8eda 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -699,17 +699,19 @@ void QtcProcess::start() QtcProcess::Arguments arguments; bool success = prepareCommand(m_command, m_arguments, &command, &arguments, osType, &env, &workDir); if (osType == OsTypeWindows) { - QString args = arguments.toWindowsArgs(); + QString args; + if (m_useCtrlCStub) { + args = QtcProcess::quoteArg(QDir::toNativeSeparators(command)); + command = QCoreApplication::applicationDirPath() + + QLatin1String("/qtcreator_ctrlc_stub.exe"); + } + QtcProcess::addArgs(&args, arguments.toWindowsArgs()); #ifdef Q_OS_WIN setNativeArguments(args); #endif - if (m_useCtrlCStub) { - args = QDir::toNativeSeparators(command); - command = QCoreApplication::applicationDirPath() + QLatin1String("/qtcreator_ctrlc_stub.exe"); - } else { - args.clear(); - } - QProcess::start(command, QStringList(args)); + // Note: Arguments set with setNativeArgs will be appended to the ones + // passed with start() below. + QProcess::start(command, QStringList()); } else { if (!success) { setErrorString(tr("Error in command line."));