diff options
| -rw-r--r-- | src/kitemviews/kitemlistview.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index b6af42849..281fe96f8 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -1292,8 +1292,7 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha return; } - const int firstVisibleIndex = m_layouter->firstVisibleIndex(); - const int lastVisibleIndex = m_layouter->lastVisibleIndex(); + int firstVisibleIndex = m_layouter->firstVisibleIndex(); if (firstVisibleIndex < 0) { emitOffsetChanges(); return; @@ -1306,8 +1305,11 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha const qreal maxOffsetToShowFullRange = maximumScrollOffset() - visibleOffsetRange; if (scrollOffset() > maxOffsetToShowFullRange) { m_layouter->setScrollOffset(qMax(qreal(0), maxOffsetToShowFullRange)); + firstVisibleIndex = m_layouter->firstVisibleIndex(); } + const int lastVisibleIndex = m_layouter->lastVisibleIndex(); + // Determine all items that are completely invisible and might be // reused for items that just got (at least partly) visible. // Items that do e.g. an animated moving of their position are not |
