diff options
author | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2018-10-17 14:48:59 +0200 |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2019-02-21 10:55:13 +0000 |
commit | 2c16e0c30c6c5ed12af52ecac2cda128487cb379 (patch) | |
tree | 2aeb8f1bf4a140c782674329f62e1058b706684a /src/qml/util | |
parent | 99e2356a734fa3eb55ffc2e983658d17ab4c3e9f (diff) |
QQmlDelegateModel: guard new row/column properties with revision 12
Tag the new 'row' and 'column' properties with revision 12.
This will make sure that they cannot be accessed by the delegate
unless the QQmlAdaptorModel has the correct minorVersion set.
Fixes: QTBUG-70031
Change-Id: I49e67c37ab5b7925c7bca313bbb99f04d1387cc4
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/util')
-rw-r--r-- | src/qml/util/qqmladaptormodel.cpp | 5 | ||||
-rw-r--r-- | src/qml/util/qqmladaptormodel_p.h | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/qml/util/qqmladaptormodel.cpp b/src/qml/util/qqmladaptormodel.cpp index 8743e9ea7c..d9cb6506b8 100644 --- a/src/qml/util/qqmladaptormodel.cpp +++ b/src/qml/util/qqmladaptormodel.cpp @@ -1008,6 +1008,11 @@ int QQmlAdaptorModel::indexAt(int row, int column) const return column * rowCount() + row; } +void QQmlAdaptorModel::useImportVersion(int minorVersion) +{ + modelItemRevision = minorVersion; +} + void QQmlAdaptorModel::objectDestroyed(QObject *) { setModel(QVariant(), nullptr, nullptr); diff --git a/src/qml/util/qqmladaptormodel_p.h b/src/qml/util/qqmladaptormodel_p.h index 4ce3b0703a..8c18466ab5 100644 --- a/src/qml/util/qqmladaptormodel_p.h +++ b/src/qml/util/qqmladaptormodel_p.h @@ -130,6 +130,8 @@ public: int columnAt(int index) const; int indexAt(int row, int column) const; + void useImportVersion(int minorVersion); + inline bool adaptsAim() const { return qobject_cast<QAbstractItemModel *>(object()); } inline QAbstractItemModel *aim() { return static_cast<QAbstractItemModel *>(object()); } inline const QAbstractItemModel *aim() const { return static_cast<const QAbstractItemModel *>(object()); } |