diff options
author | Fawzi Mohamed <fawzi.mohamed@digia.com> | 2014-01-16 11:43:59 +0100 |
---|---|---|
committer | Fawzi Mohamed <fawzi.mohamed@digia.com> | 2014-01-16 15:40:24 +0100 |
commit | a04a16538555d0db110802d474aa999d316c4a62 (patch) | |
tree | 819466e51961731e43cac53cc6366b709960116b /src | |
parent | 6d3939dbfdf32b6a8d398c281a6c272c70c46f8f (diff) |
qml: avoid dumping or reading type info multiple times
Change-Id: Id0c52f6a96a5c36893f64cbc96cc7eee300e6afa
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/qmljstools/qmljsplugindumper.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/qmljstools/qmljsplugindumper.cpp b/src/plugins/qmljstools/qmljsplugindumper.cpp index 01c2d8518e..71d0070870 100644 --- a/src/plugins/qmljstools/qmljsplugindumper.cpp +++ b/src/plugins/qmljstools/qmljsplugindumper.cpp @@ -171,12 +171,15 @@ void PluginDumper::onLoadPluginTypes(const QString &libraryPath, const QString & // add default qmltypes file if it exists const QLatin1String defaultQmltypesFileName("plugins.qmltypes"); const QString defaultQmltypesPath = makeAbsolute(defaultQmltypesFileName, canonicalLibraryPath); - if (QFile::exists(defaultQmltypesPath)) + if (!plugin.typeInfoPaths.contains(defaultQmltypesPath) && QFile::exists(defaultQmltypesPath)) plugin.typeInfoPaths += defaultQmltypesPath; // add typeinfo files listed in qmldir - foreach (const QmlDirParser::TypeInfo &typeInfo, libraryInfo.typeInfos()) - plugin.typeInfoPaths += makeAbsolute(typeInfo.fileName, canonicalLibraryPath); + foreach (const QmlDirParser::TypeInfo &typeInfo, libraryInfo.typeInfos()) { + QString pathNow = makeAbsolute(typeInfo.fileName, canonicalLibraryPath); + if (!plugin.typeInfoPaths.contains(pathNow) && QFile::exists(pathNow)) + plugin.typeInfoPaths += pathNow; + } // watch plugin libraries foreach (const QmlDirParser::Plugin &plugin, snapshot.libraryInfo(canonicalLibraryPath).plugins()) { |