aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4memberdata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsruntime/qv4memberdata.cpp')
-rw-r--r--src/qml/jsruntime/qv4memberdata.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4memberdata.cpp b/src/qml/jsruntime/qv4memberdata.cpp
index 50653a0115..92ffc391de 100644
--- a/src/qml/jsruntime/qv4memberdata.cpp
+++ b/src/qml/jsruntime/qv4memberdata.cpp
@@ -53,11 +53,12 @@ Heap::MemberData *MemberData::reallocate(ExecutionEngine *e, Heap::MemberData *o
int newAlloc = qMax((uint)4, 2*idx);
uint alloc = sizeof(Heap::MemberData) + (newAlloc)*sizeof(Value);
- MemberData *newMemberData = static_cast<MemberData *>(e->memoryManager->allocManaged(alloc));
+ Scope scope(e);
+ Scoped<MemberData> newMemberData(scope, static_cast<Heap::MemberData *>(e->memoryManager->allocManaged(alloc)));
if (old)
memcpy(newMemberData, old, sizeof(Heap::MemberData) + s*sizeof(Value));
else
- new (newMemberData) Heap::MemberData(e->memberDataClass);
+ new (newMemberData->d()) Heap::MemberData(e->memberDataClass);
newMemberData->d()->size = newAlloc;
return newMemberData->d();
}