--- a/src/corelib/animation/qpropertyanimation.cpp +++ a/src/corelib/animation/qpropertyanimation.cpp @@ -134,9 +134,10 @@ void QPropertyAnimationPrivate::updateProperty(const QVariant &newValue) } if (newValue.userType() == propertyType) { - //no conversion is needed, we directly call the QMetaObject::metacall - void *data = const_cast(newValue.constData()); - QMetaObject::metacall(targetValue, QMetaObject::WriteProperty, propertyIndex, &data); + int status = -1; + int flags = 0; + void *argv[] = { const_cast(newValue.data()), 0, &status, &flags }; + QMetaObject::metacall(targetValue, QMetaObject::WriteProperty, propertyIndex, argv); } else { targetValue->setProperty(propertyName.constData(), newValue); }