diff options
Diffstat (limited to 'src/qml/jsruntime/qv4memberdata.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4memberdata.cpp | 5 |
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(); } |