forked from qt-creator/qt-creator
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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user