From 94bbf13ff7fe45cb4a847ed7906fa69d5a39748b Mon Sep 17 00:00:00 2001 From: Eugene Popov Date: Sat, 23 Apr 2022 18:28:22 +0300 Subject: [PATCH] Fix icon resize animation This MR fixes an issue where, under certain conditions, an icon resize animation is performed that shouldn't be there. --- src/kitemviews/kitemlistview.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index 77114735b..562a45e18 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -1858,6 +1858,8 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha Q_ASSERT(widget->index() == i); widget->setVisible(true); + bool animateIconResizing = animate; + if (widget->size() != itemBounds.size()) { // Resize the widget for the item to the changed size. if (animate) { @@ -1874,11 +1876,13 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha } else { widget->resize(itemBounds.size()); } + } else { + animateIconResizing = false; } const int newIconSize = widget->styleOption().iconSize; if (widget->iconSize() != newIconSize) { - if (animate) { + if (animateIconResizing) { m_animation->start(widget, KItemListViewAnimation::IconResizeAnimation, newIconSize); } else { widget->setIconSize(newIconSize);