aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4memberdata.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2014-11-13 21:53:27 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2014-11-21 19:32:52 +0100
commit9f717b650ea0a7efc4240240f957beba8d027bda (patch)
tree8e3726ba5309703f56922a1083d2d595c6236912 /src/qml/jsruntime/qv4memberdata.cpp
parent2784a68d64519ccc5d01b6c1378207572cf1ebcd (diff)
Let the memory manager operate on Heap::Base objects, not Managed
Change-Id: Ib5c9b51dbf9c69abeda088094e6348dd545bf3c8 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
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();
}