summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/widgets/util/qscroller.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/widgets/util/qscroller.cpp b/src/widgets/util/qscroller.cpp
index e229a885a8..abb203b8cc 100644
--- a/src/widgets/util/qscroller.cpp
+++ b/src/widgets/util/qscroller.cpp
@@ -1725,10 +1725,12 @@ void QScrollerPrivate::setState(QScroller::State newstate)
sendEvent(target, &se);
firstScroll = true;
}
- if (state == QScroller::Dragging || state == QScroller::Scrolling)
- qt_activeScrollers()->push_back(q);
- else
+ if (state == QScroller::Dragging || state == QScroller::Scrolling) {
+ if (!qt_activeScrollers()->contains(q))
+ qt_activeScrollers()->push_back(q);
+ } else {
qt_activeScrollers()->removeOne(q);
+ }
emit q->stateChanged(state);
}