aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Keller <Rainer.Keller@qt.io>2018-09-14 10:52:15 +0200
committerLiang Qi <liang.qi@qt.io>2018-09-14 10:04:38 +0000
commit69359ed4e500081d39bdc0436afa1f7e5f8fdd9d (patch)
tree5a2e3ef1763bdfd423165aaa0bc592f2b4036af2
parent0a3eec60cab3c453b378ee45ac335e0dc2951f4b (diff)
Check for nullptr in enum conflict analysis
Task-number: QTBUG-70547 Change-Id: Idc0c20d3aee354366daefc99e10eec74065bf579 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
-rw-r--r--src/qml/qml/qqmlmetatype.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp
index 12390f9c79..4b3553b46b 100644
--- a/src/qml/qml/qqmlmetatype.cpp
+++ b/src/qml/qml/qqmlmetatype.cpp
@@ -906,9 +906,17 @@ void QQmlTypePrivate::createListOfPossibleConflictingItems(const QMetaObject *me
void QQmlTypePrivate::createEnumConflictReport(const QMetaObject *metaObject, const QString &conflictingKey) const
{
- Q_UNUSED(metaObject);
QList<EnumInfo> enumInfoList;
- createListOfPossibleConflictingItems(baseMetaObject, enumInfoList, QStringList()); //basePath);
+
+ if (baseMetaObject) // prefer baseMetaObject if available
+ metaObject = baseMetaObject;
+
+ if (!metaObject) { // If there is no metaObject at all return early
+ qWarning() << "No meta object information available. Skipping conflict analysis.";
+ return;
+ }
+
+ createListOfPossibleConflictingItems(metaObject, enumInfoList, QStringList()); //basePath);
qWarning().noquote() << QLatin1String("Possible conflicting items:");
// find items with conflicting key