diff options
author | Rainer Keller <Rainer.Keller@qt.io> | 2018-09-14 10:52:15 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-09-14 10:04:38 +0000 |
commit | 69359ed4e500081d39bdc0436afa1f7e5f8fdd9d (patch) | |
tree | 5a2e3ef1763bdfd423165aaa0bc592f2b4036af2 /src/qml/qml/qqmlmetatype.cpp | |
parent | 0a3eec60cab3c453b378ee45ac335e0dc2951f4b (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>
Diffstat (limited to 'src/qml/qml/qqmlmetatype.cpp')
-rw-r--r-- | src/qml/qml/qqmlmetatype.cpp | 12 |
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 |