diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-01-17 14:42:00 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2020-02-03 17:43:30 +0100 |
commit | 91b12a1add357bd79121f5025c9e3b5be29c5cd7 (patch) | |
tree | 810803931f654956fc03286316e90465edd6a31e | |
parent | 0b325602b13e2af21e888fc2243541e528cbb4b8 (diff) | |
download | qtbase-91b12a1add357bd79121f5025c9e3b5be29c5cd7.tar.gz |
QVariantHash/Map can't hold multiple entries for the same key in Qt 6
This is a consequence of QHash being separated from QMultiHash.
Change-Id: Id3bb585c9882ecbaa02691c8ba6553748dd21a24
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
-rw-r--r-- | src/corelib/kernel/qvariant.cpp | 2 | ||||
-rw-r--r-- | src/corelib/kernel/qvariant.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index 26304fcc40..db8fea298d 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -972,7 +972,7 @@ static bool convert(const QVariant::Private *d, int t, void *result, bool *ok) const QVariantMap *map = v_cast<QVariantMap>(d); const auto end = map->end(); for (auto it = map->begin(); it != end; ++it) - static_cast<QMultiHash<QString, QVariant> *>(hash)->insert(it.key(), it.value()); + hash->insert(it.key(), it.value()); #ifndef QT_BOOTSTRAPPED } else if (d->type == QMetaType::QCborValue) { if (!v_cast<QCborValue>(d)->isMap()) diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h index 353bfa7ce7..a09a70548c 100644 --- a/src/corelib/kernel/qvariant.h +++ b/src/corelib/kernel/qvariant.h @@ -818,7 +818,7 @@ namespace QtPrivate { QVariantHash l; l.reserve(iter.size()); for (QAssociativeIterable::const_iterator it = iter.begin(), end = iter.end(); it != end; ++it) - static_cast<QMultiHash<QString, QVariant> &>(l).insert(it.key().toString(), it.value()); + l.insert(it.key().toString(), it.value()); return l; } return QVariantValueHelper<QVariantHash>::invoke(v); |