diff -r b72c6db6890b -r 5dc02b23752f src/corelib/animation/qvariantanimation.cpp --- a/src/corelib/animation/qvariantanimation.cpp Wed Jun 23 19:07:03 2010 +0300 +++ b/src/corelib/animation/qvariantanimation.cpp Tue Jul 06 15:10:48 2010 +0300 @@ -431,7 +431,9 @@ { // will override any existing interpolators QInterpolatorVector *interpolators = registeredInterpolators(); +#ifndef QT_NO_THREAD QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators)); +#endif if (int(interpolationType) >= interpolators->count()) interpolators->resize(int(interpolationType) + 1); interpolators->replace(interpolationType, func); @@ -446,7 +448,9 @@ QVariantAnimation::Interpolator QVariantAnimationPrivate::getInterpolator(int interpolationType) { QInterpolatorVector *interpolators = registeredInterpolators(); +#ifndef QT_NO_THREAD QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators)); +#endif QVariantAnimation::Interpolator ret = 0; if (interpolationType < interpolators->count()) { ret = interpolators->at(interpolationType);