diff options
Diffstat (limited to 'src/kitemviews/kitemlistview.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistview.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index 2c88160fe..6b199c1bb 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -1203,6 +1203,10 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha if (invisible && !m_animation->isStarted(widget)) { widget->setVisible(false); reusableItems.append(index); + + if (m_grouped) { + recycleGroupHeaderForWidget(widget); + } } } @@ -1224,6 +1228,10 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha const int oldIndex = reusableItems.takeLast(); widget = m_visibleItems.value(oldIndex); setWidgetIndex(widget, i); + + if (m_grouped) { + updateGroupHeaderForWidget(widget); + } } else { // No reusable KItemListWidget instance is available, create a new one widget = createWidget(i); @@ -1367,10 +1375,6 @@ void KItemListView::setWidgetIndex(KItemListWidget* widget, int index) updateWidgetProperties(widget, index); m_visibleItems.insert(index, widget); - if (m_grouped) { - updateGroupHeaderForWidget(widget); - } - initializeItemListWidget(widget); } |
