aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qmljs/qmljsplugindumper.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2016-10-05 15:28:04 +0200
committerEike Ziller <eike.ziller@qt.io>2016-10-05 15:28:04 +0200
commit90cf4487a52cbff8389be85b8926afba24d75918 (patch)
treed2226523d433f6531ea9aa28c512a6ab454c1f13 /src/libs/qmljs/qmljsplugindumper.cpp
parentf036877a0d04681e60cbc010995a8a68c14f89c0 (diff)
parent8902fbc62c80896c6fc9316b90b2f6d0cced7491 (diff)
Merge remote-tracking branch 'origin/4.1'
Conflicts: src/plugins/autotest/qtest/qttestoutputreader.cpp Change-Id: I4b323f2f3041d015fa04b9a25ec925f3b3e2411f
Diffstat (limited to 'src/libs/qmljs/qmljsplugindumper.cpp')
-rw-r--r--src/libs/qmljs/qmljsplugindumper.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libs/qmljs/qmljsplugindumper.cpp b/src/libs/qmljs/qmljsplugindumper.cpp
index 1f3d6c68c6..5e1cadb095 100644
--- a/src/libs/qmljs/qmljsplugindumper.cpp
+++ b/src/libs/qmljs/qmljsplugindumper.cpp
@@ -516,8 +516,12 @@ void PluginDumper::loadQmltypesFile(const QStringList &qmltypesFilePaths,
void PluginDumper::runQmlDump(const QmlJS::ModelManagerInterface::ProjectInfo &info,
const QStringList &arguments, const QString &importPath)
{
+ QDir wd = QDir(importPath);
+ wd.cdUp();
QProcess *process = new QProcess(this);
process->setEnvironment(info.qmlDumpEnvironment.toStringList());
+ QString workingDir = wd.canonicalPath();
+ process->setWorkingDirectory(workingDir);
connect(process, static_cast<void (QProcess::*)(int)>(&QProcess::finished),
this, &PluginDumper::qmlPluginTypeDumpDone);
connect(process, &QProcess::errorOccurred, this, &PluginDumper::qmlPluginTypeDumpError);
@@ -567,7 +571,7 @@ void PluginDumper::dump(const Plugin &plugin)
args << QLatin1String("-nonrelocatable");
args << plugin.importUri;
args << plugin.importVersion;
- args << plugin.importPath;
+ args << (plugin.importPath.isEmpty() ? QLatin1String(".") : plugin.importPath);
runQmlDump(info, args, plugin.qmldirPath);
}