@@ -493,7 +493,7 @@ bool ListViewWithPageHeader::addVisibleItems(qreal fillFrom, qreal fillTo, bool
493493 return changed;
494494}
495495
496−void ListViewWithPageHeader::releaseItem(ListItem *listItem)
496+void ListViewWithPageHeader::reallyReleaseItem(ListItem *listItem)
497497{
498498 QQuickItem *item = listItem->m_item;
499499 QQuickItemPrivate *itemPrivate = QQuickItemPrivate::get(item);
@@ -506,6 +506,11 @@ void ListViewWithPageHeader::releaseItem(ListItem *listItem)
506506 delete listItem;
507507}
508508
509+void ListViewWithPageHeader::releaseItem(ListItem *listItem)
510+{
511+ m_itemsToRelease << listItem;
512+}
513+
509514void ListViewWithPageHeader::updateWatchedRoles()
510515{
511516 if (m_delegateModel) {
@@ -967,6 +972,10 @@ void ListViewWithPageHeader::layout()
967972
968973void ListViewWithPageHeader::updatePolish()
969974{
975+ Q_FOREACH(ListItem *item, m_itemsToRelease)
976+ reallyReleaseItem(item);
977+ m_itemsToRelease.clear();
978+
970979 if (!model())
971980 return;
972981