aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2025-08-27 13:56:48 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2025-09-02 12:01:42 +0000
commit4d3c1c4cd4f7705a752c064a67b9b16af838b141 (patch)
tree1a75a64dec25c324ce362540d65a7aa7d8178d1e
parent5375910a510cf0b1e73d1f89fbe6d42789077a76 (diff)
QtQml: Eliminate Heap::Sequence::hasData()
We want to encapsulate the container as much as possible. Pick-to: 6.8 Task-number: QTBUG-129972 Task-number: QTBUG-139025 Change-Id: I7cf991ea7a3a879584066e7121c49e102ebadf08 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 2ce3b7bf0a2ee94593273ae897dd91e3cef21eba) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 6c770f0ffcad62886006ad50aa417e0d40f99fa1)
-rw-r--r--src/qml/jsruntime/qv4sequenceobject.cpp7
-rw-r--r--src/qml/jsruntime/qv4sequenceobject_p.h1
2 files changed, 4 insertions, 4 deletions
diff --git a/src/qml/jsruntime/qv4sequenceobject.cpp b/src/qml/jsruntime/qv4sequenceobject.cpp
index ab8fbe21cf..f6ca69eeb7 100644
--- a/src/qml/jsruntime/qv4sequenceobject.cpp
+++ b/src/qml/jsruntime/qv4sequenceobject.cpp
@@ -646,10 +646,11 @@ QVariant SequencePrototype::toVariant(const Sequence *object)
// outdated data. This is the behavior sequences have always shown.
if (p->isReference())
p->loadReference();
- if (!p->hasData())
- return QVariant();
- return QVariant(p->listType(), p->storagePointer());
+ if (const void *storage = p->m_container)
+ return QVariant(p->listType(), storage);
+
+ return QVariant();
}
bool convertToIterable(QMetaType metaType, void *data, QV4::Object *sequence)
diff --git a/src/qml/jsruntime/qv4sequenceobject_p.h b/src/qml/jsruntime/qv4sequenceobject_p.h
index 5b08492103..fb9e9ff5ea 100644
--- a/src/qml/jsruntime/qv4sequenceobject_p.h
+++ b/src/qml/jsruntime/qv4sequenceobject_p.h
@@ -78,7 +78,6 @@ struct Sequence : ReferenceObject
Sequence *detached() const;
void destroy();
- bool hasData() const { return m_container != nullptr; }
void *storagePointer();
const void *storagePointer() const { return m_container; }