diff options
Diffstat (limited to 'src/declarative/fx')
-rw-r--r-- | src/declarative/fx/qfxrepeater.cpp | 11 | ||||
-rw-r--r-- | src/declarative/fx/qfxrepeater.h | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/declarative/fx/qfxrepeater.cpp b/src/declarative/fx/qfxrepeater.cpp index ad4081b..78e9f51 100644 --- a/src/declarative/fx/qfxrepeater.cpp +++ b/src/declarative/fx/qfxrepeater.cpp @@ -235,6 +235,15 @@ void QFxRepeater::setComponent(QmlComponent *_c) /*! \internal */ +void QFxRepeater::componentComplete() +{ + QFxItem::componentComplete(); + regenerate(); +} + +/*! + \internal + */ void QFxRepeater::parentChanged(QSimpleCanvasItem *o, QSimpleCanvasItem *n) { QFxItem::parentChanged(o, n); @@ -250,7 +259,7 @@ void QFxRepeater::regenerate() qDeleteAll(d->deletables); d->deletables.clear(); - if(!d->component || !itemParent()) + if(!d->component || !itemParent() || !isComponentComplete()) return; QFxItem *lastItem = this; diff --git a/src/declarative/fx/qfxrepeater.h b/src/declarative/fx/qfxrepeater.h index f6c4584..8efd281 100644 --- a/src/declarative/fx/qfxrepeater.h +++ b/src/declarative/fx/qfxrepeater.h @@ -72,6 +72,7 @@ private: void regenerate(); protected: + virtual void componentComplete(); virtual void parentChanged(QSimpleCanvasItem *, QSimpleCanvasItem *); QFxRepeater(QFxRepeaterPrivate &dd, QFxItem *parent); |