diff --git a/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp b/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp index 98eef0daea2..4cc6717d914 100644 --- a/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp +++ b/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp @@ -351,8 +351,15 @@ CollectionDetails::DataType CollectionDetails::typeAt(int row, int column) const DataTypeWarning::Warning CollectionDetails::cellWarningCheck(int row, int column) const { - if (typeAt(column) != typeAt(row, column) && !d->elements.at(row).isEmpty()) + const QString &propertyName = d->properties.at(column).name; + const QJsonObject &element = d->elements.at(row); + + if (element.isEmpty()) + return DataTypeWarning::Warning::None; + + if (element.contains(propertyName) && typeAt(column) != typeAt(row, column)) return DataTypeWarning::Warning::CellDataTypeMismatch; + return DataTypeWarning::Warning::None; }