@@ -145,6 +145,7 @@ ListViewWithPageHeader::ListViewWithPageHeader()
145145 , m_sectionDelegate(nullptr)
146146 , m_topSectionItem(nullptr)
147147 , m_forceNoClip(false)
148+ , m_inLayout(false)
148149{
149150 m_clipItem = new QQuickItem(contentItem());
150151// m_clipItem = new QQuickRectangle(contentItem());
@@ -433,6 +434,9 @@ void ListViewWithPageHeader::createDelegateModel()
433434
434435void ListViewWithPageHeader::refill()
435436{
437+ if (m_inLayout) {
438+ return;
439+ }
436440 if (!isComponentComplete()) {
437441 return;
438442 }
@@ -921,6 +925,10 @@ ListViewWithPageHeader::ListItem *ListViewWithPageHeader::itemAtIndex(int modelI
921925
922926void ListViewWithPageHeader::layout()
923927{
928+ if (m_inLayout)
929+ return;
930+
931+ m_inLayout = true;
924932 if (!m_visibleItems.isEmpty()) {
925933 const qreal visibleFrom = contentY() - m_clipItem->y() + m_headerItemShownHeight;
926934 const qreal visibleTo = contentY() + height() - m_clipItem->y();
@@ -994,6 +1002,7 @@ void ListViewWithPageHeader::layout()
9941002 }
9951003 }
9961004 }
1005+ m_inLayout = false;
9971006}
9981007
9991008void ListViewWithPageHeader::updatePolish()