diff options
author | Martin Jones <martin.jones@nokia.com> | 2010-04-14 23:35:23 (GMT) |
---|---|---|
committer | Jason McDonald <jason.mcdonald@nokia.com> | 2010-04-16 01:57:31 (GMT) |
commit | 2f89bb3c6ec37178ab7bed0e172b61d017e33d75 (patch) | |
tree | 8a02e090a44189d9fefffd3b8186f42f5210929f | |
parent | 1becce93326a78b3d0a5ffb45ce24211b65ec7f9 (diff) | |
download | Qt-2f89bb3c6ec37178ab7bed0e172b61d017e33d75.zip Qt-2f89bb3c6ec37178ab7bed0e172b61d017e33d75.tar.gz Qt-2f89bb3c6ec37178ab7bed0e172b61d017e33d75.tar.bz2 |
Don't create delegates when destroying view.
Task-number: QTBUG-9840
(cherry picked from commit 114f627d14e7c4f06f82a7286c38c78388fe7623)
-rw-r--r-- | src/declarative/graphicsitems/qdeclarativelistview.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 622da5b..5743d99 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -521,7 +521,6 @@ void QDeclarativeListViewPrivate::clear() trackedItem = 0; minExtentDirty = true; maxExtentDirty = true; - setPosition(0); itemCount = 0; } @@ -708,6 +707,7 @@ void QDeclarativeListViewPrivate::layout() layoutScheduled = false; if (!isValid()) { clear(); + setPosition(0); return; } updateSections(); @@ -1416,6 +1416,7 @@ void QDeclarativeListView::setModel(const QVariant &model) disconnect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*))); } d->clear(); + d->setPosition(0); d->modelVariant = model; QObject *object = qvariant_cast<QObject*>(model); QDeclarativeVisualModel *vim = 0; @@ -1770,6 +1771,7 @@ void QDeclarativeListView::setOrientation(QDeclarativeListView::Orientation orie setFlickDirection(HorizontalFlick); } d->clear(); + d->setPosition(0); refill(); emit orientationChanged(); d->updateCurrent(d->currentIndex); @@ -2791,6 +2793,7 @@ void QDeclarativeListView::modelReset() { Q_D(QDeclarativeListView); d->clear(); + d->setPosition(0); refill(); d->moveReason = QDeclarativeListViewPrivate::SetIndex; d->updateCurrent(d->currentIndex); |