equal
deleted
inserted
replaced
429 */ |
429 */ |
430 void QVariantAnimation::registerInterpolator(QVariantAnimation::Interpolator func, int interpolationType) |
430 void QVariantAnimation::registerInterpolator(QVariantAnimation::Interpolator func, int interpolationType) |
431 { |
431 { |
432 // will override any existing interpolators |
432 // will override any existing interpolators |
433 QInterpolatorVector *interpolators = registeredInterpolators(); |
433 QInterpolatorVector *interpolators = registeredInterpolators(); |
|
434 #ifndef QT_NO_THREAD |
434 QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators)); |
435 QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators)); |
|
436 #endif |
435 if (int(interpolationType) >= interpolators->count()) |
437 if (int(interpolationType) >= interpolators->count()) |
436 interpolators->resize(int(interpolationType) + 1); |
438 interpolators->resize(int(interpolationType) + 1); |
437 interpolators->replace(interpolationType, func); |
439 interpolators->replace(interpolationType, func); |
438 } |
440 } |
439 |
441 |
444 } |
446 } |
445 |
447 |
446 QVariantAnimation::Interpolator QVariantAnimationPrivate::getInterpolator(int interpolationType) |
448 QVariantAnimation::Interpolator QVariantAnimationPrivate::getInterpolator(int interpolationType) |
447 { |
449 { |
448 QInterpolatorVector *interpolators = registeredInterpolators(); |
450 QInterpolatorVector *interpolators = registeredInterpolators(); |
|
451 #ifndef QT_NO_THREAD |
449 QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators)); |
452 QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators)); |
|
453 #endif |
450 QVariantAnimation::Interpolator ret = 0; |
454 QVariantAnimation::Interpolator ret = 0; |
451 if (interpolationType < interpolators->count()) { |
455 if (interpolationType < interpolators->count()) { |
452 ret = interpolators->at(interpolationType); |
456 ret = interpolators->at(interpolationType); |
453 if (ret) return ret; |
457 if (ret) return ret; |
454 } |
458 } |