aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsapi/qjsvalueiterator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsapi/qjsvalueiterator.cpp')
-rw-r--r--src/qml/jsapi/qjsvalueiterator.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/qml/jsapi/qjsvalueiterator.cpp b/src/qml/jsapi/qjsvalueiterator.cpp
index 2b074c3cb2..b4156dcd1d 100644
--- a/src/qml/jsapi/qjsvalueiterator.cpp
+++ b/src/qml/jsapi/qjsvalueiterator.cpp
@@ -179,12 +179,14 @@ QJSValue QJSValueIterator::value() const
QV4::ExecutionContext *ctx = engine->current;
try {
QV4::ScopedValue v(scope);
- if (d_ptr->currentName)
- v = o->get(d_ptr->currentName);
- else if (d_ptr->currentIndex != UINT_MAX)
+ if (d_ptr->currentName) {
+ QV4::ScopedString n(scope, d_ptr->currentName);
+ v = o->get(n);
+ } else if (d_ptr->currentIndex != UINT_MAX) {
v = o->getIndexed(d_ptr->currentIndex);
- else
+ } else {
return QJSValue();
+ }
return new QJSValuePrivate(engine, v);
} catch (QV4::Exception &e) {
e.accept(ctx);