MimeDatabase: Fix remaining problems with overriding mime types

If mime info is requested during Qt Creator's initialization cycle, the
mime files might be parsed before all custom types are registered. To
ensure that custom mime types override the built-in ones we must force a
complete reload after they are registered.

Change-Id: I94032a5efe1bbc22885cbeb1f43080270c23381c
Task-number: QTCREATORBUG-13995
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
Eike Ziller
2015-02-24 10:36:32 +01:00
parent 4e53c23b4b
commit 8b17f10cd4

View File

@@ -956,8 +956,5 @@ void MimeXMLProvider::addMagicMatcher(const MimeMagicRuleMatcher &matcher)
void MimeXMLProvider::addFile(const QString &filePath) void MimeXMLProvider::addFile(const QString &filePath)
{ {
m_additionalFiles.append(filePath); m_additionalFiles.append(filePath);
if (m_loaded) { m_loaded = false; // force reload to ensure correct load order for overridden mime types
m_allFiles.append(filePath);
load(filePath);
} // else: will be loaded in ensureLoaded()
} }