Fix double lookup in to<JsonVariant>()

This commit is contained in:
Benoit Blanchon
2023-07-05 16:18:35 +02:00
parent 688e21e75f
commit 23b01a89b1
2 changed files with 5 additions and 2 deletions

View File

@ -15,3 +15,4 @@ HEAD
* Reference-count shared strings
* Always store `serialized("string")` by copy (#1915)
* Remove the zero-copy mode of `deserializeJson()` and `deserializeMsgPack()`
* Fix double lookup in `to<JsonVariant>()`

View File

@ -105,8 +105,10 @@ template <typename TDerived>
template <typename T>
typename enable_if<is_same<T, JsonVariant>::value, JsonVariant>::type
VariantRefBase<TDerived>::to() const {
detail::VariantData::setNull(getOrCreateData(), getResourceManager());
return *this;
auto data = getOrCreateData();
auto resources = getResourceManager();
detail::VariantData::setNull(data, resources);
return JsonVariant(data, resources);
}
template <typename TDerived>