diff options
author | Oswald Buddenhagen <[email protected]> | 2010-10-19 11:14:03 +0200 |
---|---|---|
committer | Oswald Buddenhagen <[email protected]> | 2010-11-17 13:19:07 +0100 |
commit | 1e362b0f8b0dfd712337df35cd26c5dc98dfc294 (patch) | |
tree | dbb61c65fc1c3e84b507e03c2b3f62a36acd6488 /src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp | |
parent | 531c70f05bfc8355f856f2af41be533fb13b85e6 (diff) |
overhaul process argument handling
get away from argument stringlists. instead, use native shell command
lines which support quoting/splitting, environment variable expansion
and redirections with well-understood semantics.
Task-number: QTCREATORBUG-542
Task-number: QTCREATORBUG-1564
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp')
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 4c28260adc7..5a51a0cea3c 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -43,6 +43,7 @@ #include <utils/debuggerlanguagechooser.h> #include <utils/detailswidget.h> #include <utils/qtcassert.h> +#include <utils/qtcprocess.h> #include <qt4projectmanager/qtversionmanager.h> #include <qt4projectmanager/qt4projectmanagerconstants.h> #include <qt4projectmanager/qmlobservertool.h> @@ -135,23 +136,20 @@ QString QmlProjectRunConfiguration::observerPath() const } } -QStringList QmlProjectRunConfiguration::viewerArguments() const +QString QmlProjectRunConfiguration::viewerArguments() const { - QStringList args; - // arguments in .user file - if (!m_qmlViewerArgs.isEmpty()) - args.append(m_qmlViewerArgs.split(QLatin1Char(' '))); + QString args = m_qmlViewerArgs; // arguments from .qmlproject file foreach (const QString &importPath, qmlTarget()->qmlProject()->importPaths()) { - args.append(QLatin1String("-I")); - args.append(importPath); + Utils::QtcProcess::addArg(&args, "-I"); + Utils::QtcProcess::addArg(&args, importPath); } - const QString s = mainScript(); - if (! s.isEmpty()) - args.append(s); + const QString &s = mainScript(); + if (!s.isEmpty()) + Utils::QtcProcess::addArg(&args, s); return args; } |