aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4lookup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsruntime/qv4lookup.cpp')
-rw-r--r--src/qml/jsruntime/qv4lookup.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/qml/jsruntime/qv4lookup.cpp b/src/qml/jsruntime/qv4lookup.cpp
index 43628ad4f5..446af3f9ef 100644
--- a/src/qml/jsruntime/qv4lookup.cpp
+++ b/src/qml/jsruntime/qv4lookup.cpp
@@ -466,8 +466,8 @@ bool Lookup::resolveSetter(ExecutionEngine *engine, Object *object, const Value
ScopedString name(scope, scope.engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[nameIndex]);
Heap::InternalClass *c = object->internalClass();
- name->makeIdentifier();
- uint idx = c->find(name->identifier());
+ PropertyKey key = name->toPropertyKey();
+ uint idx = c->find(key);
if (idx != UINT_MAX) {
if (object->isArrayObject() && idx == Heap::ArrayObject::LengthPropertyIndex) {
setter = arrayLengthSetter;
@@ -485,7 +485,7 @@ bool Lookup::resolveSetter(ExecutionEngine *engine, Object *object, const Value
}
insertionLookup.protoId = c->protoId;
- if (!object->put(name, value)) {
+ if (!object->put(key, value)) {
setter = Lookup::setterFallback;
return false;
}
@@ -495,8 +495,7 @@ bool Lookup::resolveSetter(ExecutionEngine *engine, Object *object, const Value
setter = setterFallback;
return true;
}
- name->makeIdentifier();
- idx = object->internalClass()->find(name->identifier());
+ idx = object->internalClass()->find(key);
if (idx == UINT_MAX) { // ### can this even happen?
setter = setterFallback;
return false;