diff options
Diffstat (limited to 'src/declarative/graphicsitems/qdeclarativerepeater.cpp')
-rw-r--r-- | src/declarative/graphicsitems/qdeclarativerepeater.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativerepeater.cpp b/src/declarative/graphicsitems/qdeclarativerepeater.cpp index 43d20442..2fe36303 100644 --- a/src/declarative/graphicsitems/qdeclarativerepeater.cpp +++ b/src/declarative/graphicsitems/qdeclarativerepeater.cpp @@ -373,8 +373,10 @@ void QDeclarativeRepeater::regenerate() void QDeclarativeRepeater::itemsInserted(int index, int count) { Q_D(QDeclarativeRepeater); - if (!isComponentComplete()) + if (!isComponentComplete()) { + emit countChanged(); return; + } for (int i = 0; i < count; ++i) { int modelIndex = index + i; QDeclarativeItem *item = d->model->item(modelIndex); @@ -395,8 +397,13 @@ void QDeclarativeRepeater::itemsInserted(int index, int count) void QDeclarativeRepeater::itemsRemoved(int index, int count) { Q_D(QDeclarativeRepeater); - if (!isComponentComplete() || count <= 0) + if (count <= 0) return; + + if (!isComponentComplete()) { + emit countChanged(); + return; + } while (count--) { QDeclarativeItem *item = d->deletables.takeAt(index); emit itemRemoved(index, item); |