aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4sequenceobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsruntime/qv4sequenceobject.cpp')
-rw-r--r--src/qml/jsruntime/qv4sequenceobject.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/qml/jsruntime/qv4sequenceobject.cpp b/src/qml/jsruntime/qv4sequenceobject.cpp
index d9fab3cda9..e30b2d8ac2 100644
--- a/src/qml/jsruntime/qv4sequenceobject.cpp
+++ b/src/qml/jsruntime/qv4sequenceobject.cpp
@@ -243,17 +243,18 @@ static void replaceInline(Heap::Sequence *p, qsizetype index, const QVariant &it
static void removeLastInline(Heap::Sequence *p, qsizetype num)
{
const QMetaSequence m = p->metaSequence();
+ void *container = p->storagePointer();
if (m.canEraseRangeAtIterator() && m.hasRandomAccessIterator() && num > 1) {
- void *i = m.end(p->storagePointer());
+ void *i = m.end(container);
m.advanceIterator(i, -num);
- void *j = m.end(p->storagePointer());
- m.eraseRangeAtIterator(p->storagePointer(), i, j);
+ void *j = m.end(container);
+ m.eraseRangeAtIterator(container, i, j);
m.destroyIterator(i);
m.destroyIterator(j);
} else {
for (int i = 0; i < num; ++i)
- m.removeValueAtEnd(p->storagePointer());
+ m.removeValueAtEnd(container);
}
}