diff options
author | David Faure <david.faure@kdab.com> | 2020-09-15 12:34:52 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-09-19 00:22:08 +0000 |
commit | 1603c2f5e1c927ebcf4b50f0b70d0c3401e830a0 (patch) | |
tree | 60886b4ab493a21b56845dc4d6912f9ce7b8810c /src/corelib/mimetypes/qmimeprovider.cpp | |
parent | 3fef0e3a71fc0540659f70749a8282bf7820b96d (diff) |
QMimeDatabase: fix performance regression when using the internal XML
That XML was parsed over and over again, because the QMimeXMLProvider
was re-created instead of re-used.
Change-Id: I07ff005d3f238afc1490b69a58cf4815e67d418c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 354ea7bd963b3c54b4b15d28a595bf836a78de07)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/corelib/mimetypes/qmimeprovider.cpp')
-rw-r--r-- | src/corelib/mimetypes/qmimeprovider.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/corelib/mimetypes/qmimeprovider.cpp b/src/corelib/mimetypes/qmimeprovider.cpp index a28c43a4ad..dbe90b136a 100644 --- a/src/corelib/mimetypes/qmimeprovider.cpp +++ b/src/corelib/mimetypes/qmimeprovider.cpp @@ -167,6 +167,11 @@ bool QMimeBinaryProvider::isValid() return m_cacheFile != nullptr; } +bool QMimeBinaryProvider::isInternalDatabase() const +{ + return false; +} + // Position of the "list offsets" values, at the beginning of the mime.cache file enum { PosAliasListOffset = 4, @@ -691,6 +696,11 @@ bool QMimeXMLProvider::isValid() return true; } +bool QMimeXMLProvider::isInternalDatabase() const +{ + return m_directory == internalMimeFileName(); +} + QMimeType QMimeXMLProvider::mimeTypeForName(const QString &name) { return m_nameMimeTypeMap.value(name); |