diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/jsruntime/qv4argumentsobject.cpp | 3 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4objectiterator.cpp | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject.cpp b/src/qml/jsruntime/qv4argumentsobject.cpp index eaca874d76..f7493353ff 100644 --- a/src/qml/jsruntime/qv4argumentsobject.cpp +++ b/src/qml/jsruntime/qv4argumentsobject.cpp @@ -108,7 +108,8 @@ bool ArgumentsObject::defineOwnProperty(ExecutionEngine *engine, uint index, con bool isMapped = false; uint numAccessors = qMin((int)context()->function->formalParameterCount(), context()->realArgumentCount); if (pd && index < (uint)numAccessors) - isMapped = arrayData()->attributes(index).isAccessor() && pd->getter() == context()->engine->argumentsAccessors[index].getter(); + isMapped = arrayData()->attributes(index).isAccessor() && + pd->getter()->d() == context()->engine->argumentsAccessors[index].getter()->d(); if (isMapped) { Q_ASSERT(arrayData()); diff --git a/src/qml/jsruntime/qv4objectiterator.cpp b/src/qml/jsruntime/qv4objectiterator.cpp index 80b73e52dc..5c8df40c4c 100644 --- a/src/qml/jsruntime/qv4objectiterator.cpp +++ b/src/qml/jsruntime/qv4objectiterator.cpp @@ -100,11 +100,11 @@ void ObjectIterator::next(Heap::String **name, uint *index, Property *pd, Proper if (attrs->isEmpty()) break; // check the property is not already defined earlier in the proto chain - if (current->asObject() != object->asObject()) { + if (current->heapObject() != object->heapObject()) { o = object->asObject(); n = *name; bool shadowed = false; - while (o != current->asObject()) { + while (o->asObject()->d() != current->heapObject()) { if ((!!n && o->hasOwnProperty(n)) || (*index != UINT_MAX && o->hasOwnProperty(*index))) { shadowed = true; @@ -179,6 +179,7 @@ ReturnedValue ObjectIterator::nextPropertyNameAsString() return Encode::null(); PropertyAttributes attrs; + // ### GC Property p; uint index; Scope scope(object->engine()); @@ -189,7 +190,7 @@ ReturnedValue ObjectIterator::nextPropertyNameAsString() if (!!name) return name->asReturnedValue(); - assert(index < UINT_MAX); + Q_ASSERT(index < UINT_MAX); return Encode(object->engine()->newString(QString::number(index))); } |