summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2021-01-21 11:33:51 -0800
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2021-01-27 05:11:39 +0000
commit00b759a8d06dbec42232b1b8748c0725da7ced00 (patch)
treede58d1a66a64b90baa0619982d9de0f61510138c /src/corelib/serialization
parent6da6b6da4494439dc34e92fee7d69b5ad48a783d (diff)
QJsonObject::take: add missing detach() call
We were modifying shared objects. Pick-to: 6.0 5.15 Fixes: QTBUG-89625 Change-Id: Id6bc735b79cf4beb9454fffd165c56476a5dec04 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Diffstat (limited to 'src/corelib/serialization')
-rw-r--r--src/corelib/serialization/qjsonobject.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/corelib/serialization/qjsonobject.cpp b/src/corelib/serialization/qjsonobject.cpp
index 0c4af59163..a06af5d02d 100644
--- a/src/corelib/serialization/qjsonobject.cpp
+++ b/src/corelib/serialization/qjsonobject.cpp
@@ -617,6 +617,7 @@ QJsonValue QJsonObject::takeImpl(T key)
if (!keyExists)
return QJsonValue(QJsonValue::Undefined);
+ detach();
const QJsonValue v = QJsonPrivate::Value::fromTrustedCbor(o->extractAt(index + 1));
removeAt(index / 2);
return v;