summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qsequentialiterable.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qsequentialiterable.h')
-rw-r--r--src/corelib/kernel/qsequentialiterable.h10
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;
}