aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorMaximilian Goldstein <max.goldstein@qt.io>2021-01-08 11:58:55 +0100
committerMaximilian Goldstein <max.goldstein@qt.io>2021-01-11 15:22:00 +0100
commit8a3ede5ba1daf2d9314d71db972175b2791456c0 (patch)
tree2d48e36b27779911a5b41c24cb9142bfa859a4a5 /src/quick
parent30136b1a82bfc54459741483e76f2f70c937dedd (diff)
Fix warning and assert when removing items from groups
When removing items from groups actively shown by a model filter a warning and assert was triggered in the past. This change fixes this behavior. Fixes: QTBUG-86017 Change-Id: I49b7498a3d03141b654e453a3c35a43fc7ba804a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/items/qquickitemview.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index 95b5415ef0..f1336a91f6 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -2346,7 +2346,9 @@ FxViewItem *QQuickItemViewPrivate::createItem(int modelIndex, QQmlIncubator::Inc
inRequest = true;
- QObject* object = model->object(modelIndex, incubationMode);
+ // The model will run this same range check internally but produce a warning and return nullptr.
+ // Since we handle this result graciously in our code, we preempt this warning by checking the range ourselves.
+ QObject* object = modelIndex < model->count() ? model->object(modelIndex, incubationMode) : nullptr;
QQuickItem *item = qmlobject_cast<QQuickItem*>(object);
if (!item) {