Fix two small issues when construcint Array objects
authorLars Knoll <lars.knoll@digia.com>
Fri, 16 Aug 2013 06:52:34 +0000 (08:52 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Sat, 17 Aug 2013 07:26:21 +0000 (09:26 +0200)
When constructing from a stringlist, we need to correctly
set arrayDataLen.
init() doesn't need to malloc a memberData array, as we have
4 properties stored inline.

Change-Id: Ia35bd89fe2d58b80ebba1356ba1d16f088d111e4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/qml/jsruntime/qv4object.cpp

index 6d4b601..747140b 100644 (file)
@@ -1421,6 +1421,7 @@ ArrayObject::ArrayObject(ExecutionEngine *engine, const QStringList &list)
     arrayReserve(len);
     for (int ii = 0; ii < len; ++ii)
         arrayData[ii].value = Value::fromString(engine->newString(list.at(ii)));
+    arrayDataLen = len;
     setArrayLengthUnchecked(len);
 }
 
@@ -1429,7 +1430,6 @@ void ArrayObject::init(ExecutionEngine *engine)
     type = Type_ArrayObject;
     internalClass = engine->arrayClass;
 
-    memberData = new Property[4];
     memberData[LengthPropertyIndex].value = Value::fromInt32(0);
 }