diff options
Diffstat (limited to 'src/quick/items/qquickrepeater.cpp')
-rw-r--r-- | src/quick/items/qquickrepeater.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/quick/items/qquickrepeater.cpp b/src/quick/items/qquickrepeater.cpp index e2a3043857..975682192e 100644 --- a/src/quick/items/qquickrepeater.cpp +++ b/src/quick/items/qquickrepeater.cpp @@ -350,7 +350,9 @@ void QQuickRepeater::clear() bool complete = isComponentComplete(); if (d->model) { - for (int i = 0; i < d->deletables.count(); ++i) { + // We remove in reverse order deliberately; so that signals are emitted + // with sensible indices. + for (int i = d->deletables.count() - 1; i >= 0; --i) { if (QQuickItem *item = d->deletables.at(i)) { if (complete) emit itemRemoved(i, item); |