diff options
author | Filipe Azevedo <filipe.azevedo@kdab.com> | 2016-05-02 13:11:26 +0200 |
---|---|---|
committer | Filipe Azevedo <filipe.azevedo@kdab.com> | 2016-05-23 14:01:42 +0000 |
commit | 82b0b31fe47a6a54c500f2cbea45b37fc28f3bee (patch) | |
tree | cb5b2c47e68642db59f93fda2195e997aa90a1af /src/qml/types/qqmllistmodel.cpp | |
parent | e7da97bf71108a0acd72629e383f884e2d756477 (diff) |
Fix crash for unknown QQmlListModel roles in debug builds
If a role is unknown, trying to access it will crash in getExistingRole.
Fixed that and now return QVariant() for unknown roles.
Change-Id: Iad5c1292a4faee893fbc5a69984cf776aca85d70
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Diffstat (limited to 'src/qml/types/qqmllistmodel.cpp')
-rw-r--r-- | src/qml/types/qqmllistmodel.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/qml/types/qqmllistmodel.cpp b/src/qml/types/qqmllistmodel.cpp index 4b0aa47c63..3d71621290 100644 --- a/src/qml/types/qqmllistmodel.cpp +++ b/src/qml/types/qqmllistmodel.cpp @@ -392,6 +392,8 @@ void ListModel::updateCacheIndices() QVariant ListModel::getProperty(int elementIndex, int roleIndex, const QQmlListModel *owner, QV4::ExecutionEngine *eng) { + if (roleIndex >= m_layout->roleCount()) + return QVariant(); ListElement *e = elements[elementIndex]; const ListLayout::Role &r = m_layout->getExistingRole(roleIndex); return e->getProperty(r, owner, eng); |