From 29bb28d52305a7a47759cf9bb8395e2132bf68bc Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Fri, 30 Mar 2018 13:42:54 +0200 Subject: [PATCH] QTabBar: properly clean up move animation In TabBarAnimation::updateState() the wrong parameter was used to determine if the animation has stopped or not. This lead to a call to moveTabFinished() when the animation started and not when it was finished. Task-number: QTBUG-42951 Change-Id: I213c7f5e863a9a4e33bd472de93933efebf63fc7 Reviewed-by: Richard Moe Gustavsen --- src/widgets/widgets/qtabbar.cpp | 2 +- src/widgets/widgets/qtabbar_p.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index 258e018151..9df1a4823a 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -2682,7 +2682,7 @@ void QTabBarPrivate::Tab::TabBarAnimation::updateCurrentValue(const QVariant &cu priv->moveTab(priv->tabList.indexOf(*tab), current.toInt()); } -void QTabBarPrivate::Tab::TabBarAnimation::updateState(QAbstractAnimation::State, QAbstractAnimation::State newState) +void QTabBarPrivate::Tab::TabBarAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State) { if (newState == Stopped) priv->moveTabFinished(priv->tabList.indexOf(*tab)); } diff --git a/src/widgets/widgets/qtabbar_p.h b/src/widgets/widgets/qtabbar_p.h index 1092878f2c..f303ed54d1 100644 --- a/src/widgets/widgets/qtabbar_p.h +++ b/src/widgets/widgets/qtabbar_p.h @@ -144,7 +144,7 @@ public: void updateCurrentValue(const QVariant ¤t) override; - void updateState(State, State newState) override; + void updateState(State newState, State) override; private: //these are needed for the callbacks Tab *tab;