diff options
Diffstat (limited to 'src/corelib/animation/qvariantanimation.cpp')
-rw-r--r-- | src/corelib/animation/qvariantanimation.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/corelib/animation/qvariantanimation.cpp b/src/corelib/animation/qvariantanimation.cpp index ac81f89ed4..216c015732 100644 --- a/src/corelib/animation/qvariantanimation.cpp +++ b/src/corelib/animation/qvariantanimation.cpp @@ -43,6 +43,7 @@ #include <QtCore/qrect.h> #include <QtCore/qline.h> #include <QtCore/qmutex.h> +#include <QtCore/private/qlocking_p.h> #include <algorithm> @@ -283,11 +284,11 @@ void QVariantAnimationPrivate::setCurrentValueForProgress(const qreal progress) qSwap(currentValue, ret); q->updateCurrentValue(currentValue); static QBasicAtomicInt changedSignalIndex = Q_BASIC_ATOMIC_INITIALIZER(0); - if (!changedSignalIndex.load()) { + if (!changedSignalIndex.loadRelaxed()) { //we keep the mask so that we emit valueChanged only when needed (for performance reasons) changedSignalIndex.testAndSetRelaxed(0, signalIndex("valueChanged(QVariant)")); } - if (isSignalConnected(changedSignalIndex.load()) && currentValue != ret) { + if (isSignalConnected(changedSignalIndex.loadRelaxed()) && currentValue != ret) { //the value has changed emit q->valueChanged(currentValue); } @@ -426,7 +427,7 @@ void QVariantAnimation::registerInterpolator(QVariantAnimation::Interpolator fun // in such an order that we get here with interpolators == NULL, // to continue causes the app to crash on exit with a SEGV if (interpolators) { - QMutexLocker locker(®isteredInterpolatorsMutex); + const auto locker = qt_scoped_lock(registeredInterpolatorsMutex); if (int(interpolationType) >= interpolators->count()) interpolators->resize(int(interpolationType) + 1); interpolators->replace(interpolationType, func); @@ -443,7 +444,7 @@ QVariantAnimation::Interpolator QVariantAnimationPrivate::getInterpolator(int in { { QInterpolatorVector *interpolators = registeredInterpolators(); - QMutexLocker locker(®isteredInterpolatorsMutex); + const auto locker = qt_scoped_lock(registeredInterpolatorsMutex); QVariantAnimation::Interpolator ret = 0; if (interpolationType < interpolators->count()) { ret = interpolators->at(interpolationType); |