From c584cf67ea8231f27281f93104566a141b5d7e8c Mon Sep 17 00:00:00 2001 From: Ali Kianian Date: Wed, 7 Feb 2024 11:39:20 +0200 Subject: [PATCH] QmlDesigner: Remove potentially excessive values from dataStore records Change-Id: Ib2606fc50662b7724ae2ba11d21264334638bec9 Reviewed-by: Reviewed-by: Miikka Heikkinen Reviewed-by: Qt CI Patch Build Bot --- .../components/collectioneditor/collectiondetails.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp b/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp index f1827ee6be6..4acd2f601a6 100644 --- a/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp +++ b/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp @@ -853,8 +853,13 @@ CollectionDetails CollectionDetails::fromLocalCollection(const QJsonObject &loca if (int columnsCount = result.columns()) { const QJsonArray dataRecords = localCollection.value("data").toArray(); - for (const QJsonValue &dataRecordValue : dataRecords) - result.insertRecords(dataRecordValue.toArray()); + for (const QJsonValue &dataRecordValue : dataRecords) { + QJsonArray dataRecord = dataRecordValue.toArray(); + while (dataRecord.count() > columnsCount) + dataRecord.removeLast(); + + result.insertRecords(dataRecord); + } } } else { setError(CollectionParseError::ColumnsBlockIsNotArray);