@@ -400,6 +400,7 @@ void ListViewWithPageHeader::viewportMoved(Qt::Orientations orient)
400400 }
401401
402402 m_previousContentY = contentY();
403+ layout();
403404 polish();
404405}
405406
@@ -794,6 +795,7 @@ void ListViewWithPageHeader::onModelUpdated(const QQuickChangeSet &changeSet, bo
794795 }
795796 }
796797
798+ layout();
797799 polish();
798800 m_contentHeightDirty = true;
799801}
@@ -827,6 +829,7 @@ void ListViewWithPageHeader::headerHeightChanged(qreal newHeaderHeight, qreal ol
827829 m_headerItemShownHeight = qBound(static_cast<qreal>(0.), m_headerItemShownHeight, newHeaderHeight);
828830 updateClipItem();
829831 adjustMinYExtent();
832+ layout();
830833 qDebug() << "ListViewWithPageHeader::headerHeightChanged A" << m_minYExtent;
831834 } else {
832835 if (oldHeaderY + oldHeaderHeight > contentY()) {
@@ -862,11 +865,8 @@ ListViewWithPageHeader::ListItem *ListViewWithPageHeader::itemAtIndex(int modelI
862865 return nullptr;
863866}
864867
865−void ListViewWithPageHeader::updatePolish()
868+void ListViewWithPageHeader::layout()
866869{
867− if (!model())
868− return;
869−
870870 if (!m_visibleItems.isEmpty()) {
871871 const qreal visibleFrom = contentY() - m_clipItem->y() + m_headerItemShownHeight;
872872 const qreal visibleTo = contentY() + height() - m_clipItem->y();
@@ -933,6 +933,14 @@ void ListViewWithPageHeader::updatePolish()
933933 }
934934 }
935935 }
936+}
937+
938+void ListViewWithPageHeader::updatePolish()
939+{
940+ if (!model())
941+ return;
942+
943+ layout();
936944
937945 refill();
938946