aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qmljs/qmljsplugindumper.cpp
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2021-01-11 14:09:51 +0100
committerChristian Stenger <christian.stenger@qt.io>2021-01-21 13:47:45 +0000
commit6ea088c02f9b0c61a8e9df1472b0ddfe544eb601 (patch)
treeabd63dd75155c225e52d5dea1209ca37bf887c57 /src/libs/qmljs/qmljsplugindumper.cpp
parent7dc72c533e4bba81ea3126d8cb98840ca746f786 (diff)
QmlJS: Fix handling multiple import paths into same module
It is possible to import components of different paths to fill a module. Take further paths into account when looking up types. Fixes: QTCREATORBUG-24405 Change-Id: I8d6bf0a324ea9c0d1fe9d91b40857f91f00dd662 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
Diffstat (limited to 'src/libs/qmljs/qmljsplugindumper.cpp')
-rw-r--r--src/libs/qmljs/qmljsplugindumper.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libs/qmljs/qmljsplugindumper.cpp b/src/libs/qmljs/qmljsplugindumper.cpp
index 9508c13d31..730743f890 100644
--- a/src/libs/qmljs/qmljsplugindumper.cpp
+++ b/src/libs/qmljs/qmljsplugindumper.cpp
@@ -421,16 +421,17 @@ QString PluginDumper::buildQmltypesPath(const QString &name) const
version = m.captured("major") + QLatin1Char('.') + m.captured("minor");
}
- const QString path = modulePath(qualifiedName, version, m_modelManager->importPathsNames());
+ const QStringList paths = modulePaths(qualifiedName, version, m_modelManager->importPathsNames());
- if (path.isEmpty())
+ if (paths.isEmpty())
return QString();
- QDirIterator it(path, QStringList { "*.qmltypes" }, QDir::Files);
-
- if (it.hasNext())
- return it.next();
+ for (const QString &path : paths) {
+ QDirIterator it(path, QStringList { "*.qmltypes" }, QDir::Files);
+ if (it.hasNext())
+ return it.next();
+ }
return QString();
}