diff options
author | Jan Arve Sæther <jan-arve.saether@qt.io> | 2021-03-09 10:13:57 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-03-29 17:42:22 +0000 |
commit | 8c0e1b73ae651f3a9f06b151d8f6372818b974f9 (patch) | |
tree | 899c0014461c2966ab9240fd90ec99adff183714 /tests/auto/qml/qqmlapplicationengine/tst_qqmlapplicationengine.cpp | |
parent | fa54c390626dd684ba3478769923fe4b73aba09e (diff) |
DelegateModelGroup: Fix bug where item could be removed from the model
If an item was removed from the DelegateModelGroup before it was
completed it caused subsequent items in the model to be missing in
some cases.
The reason was that while populating the ListView, it iterated with an
index for each item to call createItem() on.
However, createItem() might call onCompleted (which in the case of
QTBUG-86708 removed the item from the DelegateModel), which caused the
next index we called createItem() with to be wrong (it became one step
ahead).
We therefore add a helper class MutableModelIterator, which keeps track
of if a index in the model got removed (and if the iterator index needs
to be adjusted because of that)....
Task-number: QTBUG-86708
Change-Id: I33537b43727aed4f2b9bdda794b011b6684c44b4
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 0ff9db566c48172c688bf9327fe6a781dc4a1c34)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests/auto/qml/qqmlapplicationengine/tst_qqmlapplicationengine.cpp')
0 files changed, 0 insertions, 0 deletions