diff options
Diffstat (limited to 'src/corelib/kernel/qsequentialiterable.h')
-rw-r--r-- | src/corelib/kernel/qsequentialiterable.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/corelib/kernel/qsequentialiterable.h b/src/corelib/kernel/qsequentialiterable.h index 5851439316..a5a22b55df 100644 --- a/src/corelib/kernel/qsequentialiterable.h +++ b/src/corelib/kernel/qsequentialiterable.h @@ -172,11 +172,11 @@ inline QVariantRef<QSequentialIterator> &QVariantRef<QSequentialIterator>::opera { if (m_pointer == nullptr) return *this; - const QMetaType metaType(m_pointer->metaContainer().valueMetaType()); - const void *dataPtr = metaType == QMetaType::fromType<QVariant>() - ? &value - : value.constData(); - m_pointer->metaContainer().setValueAtIterator(m_pointer->constIterator(), dataPtr); + + QtPrivate::QVariantTypeCoercer coercer; + m_pointer->metaContainer().setValueAtIterator( + m_pointer->constIterator(), + coercer.coerce(value, m_pointer->metaContainer().valueMetaType())); return *this; } |