diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 5a75993ca34..ec3e6a1916e 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -3806,6 +3806,16 @@ bool QMetaProperty::writeOnGadget(void *gadget, const QVariant &value) const return write(reinterpret_cast(gadget), value); } +/*! + \overload + \since 6.6 +*/ +bool QMetaProperty::writeOnGadget(void *gadget, QVariant &&value) const +{ + Q_ASSERT(priv(mobj->d.data)->flags & PropertyAccessInStaticMetaCall && mobj->d.static_metacall); + return write(reinterpret_cast(gadget), std::move(value)); +} + /*! \since 5.5 diff --git a/src/corelib/kernel/qmetaobject.h b/src/corelib/kernel/qmetaobject.h index d9c0d78831a..c51922e6595 100644 --- a/src/corelib/kernel/qmetaobject.h +++ b/src/corelib/kernel/qmetaobject.h @@ -370,6 +370,7 @@ public: QVariant readOnGadget(const void *gadget) const; bool writeOnGadget(void *gadget, const QVariant &value) const; + bool writeOnGadget(void *gadget, QVariant &&value) const; bool resetOnGadget(void *gadget) const; bool hasStdCppSet() const;