summaryrefslogtreecommitdiffstats
path: root/src/corelib/mimetypes
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2020-02-28 08:26:49 -0800
committerThiago Macieira <thiago.macieira@intel.com>2020-03-03 11:44:27 -0800
commit1edf586ed73596e1d53a0d612a77f86ea34a65bf (patch)
treef974352374a1bed013a0ed452dabb9ca4cfafa5b /src/corelib/mimetypes
parent14420b359b2d14d202df8df841af5e88f16352a7 (diff)
QMimeXMLProvider: fix another issue with -no-mimetype-database
The compiler must emit the destructor for the members of a class in an inline constructor, in case the constructor throws. This won't work in Qt 5.15 due to QList requiring knowing whether QMimeMagicRuleMatcher is trivial or not. Another solution would be to use QVector. Fixes: QTBUG-82547 Change-Id: Ia8b65350cd5d49debca9fffd15f79db872ed7c0c Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'src/corelib/mimetypes')
-rw-r--r--src/corelib/mimetypes/qmimeprovider.cpp10
-rw-r--r--src/corelib/mimetypes/qmimeprovider_p.h5
2 files changed, 10 insertions, 5 deletions
diff --git a/src/corelib/mimetypes/qmimeprovider.cpp b/src/corelib/mimetypes/qmimeprovider.cpp
index 4aee772366..9dba72923a 100644
--- a/src/corelib/mimetypes/qmimeprovider.cpp
+++ b/src/corelib/mimetypes/qmimeprovider.cpp
@@ -664,7 +664,15 @@ QMimeXMLProvider::QMimeXMLProvider(QMimeDatabasePrivate *db, InternalDatabaseEnu
load(data, size);
}
-#endif
+#else // !QT_CONFIG(mimetype_database)
+// never called in release mode, but some debug builds may need
+// this to be defined.
+QMimeXMLProvider::QMimeXMLProvider(QMimeDatabasePrivate *db, InternalDatabaseEnum)
+ : QMimeProviderBase(db, QString())
+{
+ Q_UNREACHABLE();
+}
+#endif // QT_CONFIG(mimetype_database)
QMimeXMLProvider::QMimeXMLProvider(QMimeDatabasePrivate *db, const QString &directory)
: QMimeProviderBase(db, directory)
diff --git a/src/corelib/mimetypes/qmimeprovider_p.h b/src/corelib/mimetypes/qmimeprovider_p.h
index c4e712b318..9c91903684 100644
--- a/src/corelib/mimetypes/qmimeprovider_p.h
+++ b/src/corelib/mimetypes/qmimeprovider_p.h
@@ -135,13 +135,10 @@ public:
enum InternalDatabaseEnum { InternalDatabase };
#if QT_CONFIG(mimetype_database)
enum : bool { InternalDatabaseAvailable = true };
- QMimeXMLProvider(QMimeDatabasePrivate *db, InternalDatabaseEnum);
#else
enum : bool { InternalDatabaseAvailable = false };
- QMimeXMLProvider(QMimeDatabasePrivate *db, InternalDatabaseEnum)
- : QMimeProviderBase(db, QString())
- { Q_UNREACHABLE(); };
#endif
+ QMimeXMLProvider(QMimeDatabasePrivate *db, InternalDatabaseEnum);
QMimeXMLProvider(QMimeDatabasePrivate *db, const QString &directory);
~QMimeXMLProvider();