summaryrefslogtreecommitdiffstats
path: root/src/corelib/mimetypes/qmimeprovider.cpp
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2020-09-15 12:34:52 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2020-09-19 00:22:08 +0000
commit1603c2f5e1c927ebcf4b50f0b70d0c3401e830a0 (patch)
tree60886b4ab493a21b56845dc4d6912f9ce7b8810c /src/corelib/mimetypes/qmimeprovider.cpp
parent3fef0e3a71fc0540659f70749a8282bf7820b96d (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.cpp10
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);