diff --git a/src/corelib/animation/qvariantanimation.cpp b/src/corelib/animation/qvariantanimation.cpp index 7117092c54a..75b8a3fbbf6 100644 --- a/src/corelib/animation/qvariantanimation.cpp +++ b/src/corelib/animation/qvariantanimation.cpp @@ -448,7 +448,7 @@ void QVariantAnimation::registerInterpolator(QVariantAnimation::Interpolator fun template static inline QVariantAnimation::Interpolator castToInterpolator(QVariant (*func)(const T &from, const T &to, qreal progress)) { - return reinterpret_cast(func); + return reinterpret_cast(reinterpret_cast(func)); } QVariantAnimation::Interpolator QVariantAnimationPrivate::getInterpolator(int interpolationType) diff --git a/src/corelib/animation/qvariantanimation.h b/src/corelib/animation/qvariantanimation.h index f21832b2566..0d007487b98 100644 --- a/src/corelib/animation/qvariantanimation.h +++ b/src/corelib/animation/qvariantanimation.h @@ -113,7 +113,7 @@ private: template void qRegisterAnimationInterpolator(QVariant (*func)(const T &from, const T &to, qreal progress)) { - QVariantAnimation::registerInterpolator(reinterpret_cast(func), qMetaTypeId()); + QVariantAnimation::registerInterpolator(reinterpret_cast(reinterpret_cast(func)), qMetaTypeId()); } #endif //QT_NO_ANIMATION