aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/v8/qqmlbuiltinfunctions.cpp')
-rw-r--r--src/qml/qml/v8/qqmlbuiltinfunctions.cpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
index 816680e1d9..c5cba16f48 100644
--- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
+++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
@@ -96,14 +96,16 @@ QV4::QtObject::QtObject(ExecutionEngine *v4, QQmlEngine *qmlEngine)
// Set all the enums from the "Qt" namespace
const QMetaObject *qtMetaObject = StaticQtMetaObject::get();
+ ScopedString str(scope);
+ ScopedValue v(scope);
for (int ii = 0; ii < qtMetaObject->enumeratorCount(); ++ii) {
QMetaEnum enumerator = qtMetaObject->enumerator(ii);
for (int jj = 0; jj < enumerator.keyCount(); ++jj) {
- put(v4->newString(enumerator.key(jj)), QV4::Value::fromInt32(enumerator.value(jj)));
+ put((str = v4->newString(enumerator.key(jj))), (v = QV4::Value::fromInt32(enumerator.value(jj))));
}
}
- put(v4->newString("Asynchronous"), QV4::Value::fromInt32(0));
- put(v4->newString("Synchronous"), QV4::Value::fromInt32(1));
+ put((str = v4->newString("Asynchronous")), (v = QV4::Value::fromInt32(0)));
+ put((str = v4->newString("Synchronous")), (v = QV4::Value::fromInt32(1)));
defineDefaultProperty(QStringLiteral("include"), QV4Include::method_include);
defineDefaultProperty(QStringLiteral("isQtObject"), method_isQtObject);
@@ -946,19 +948,22 @@ ReturnedValue QtObject::method_createQmlObject(SimpleCallContext *ctx)
QString errorstr = QLatin1String("Qt.createQmlObject(): failed to create object: ");
QV4::Scoped<ArrayObject> qmlerrors(scope, v4->newArrayObject());
+ QV4::ScopedObject qmlerror(scope);
+ QV4::ScopedString s(scope);
+ QV4::ScopedValue v(scope);
for (int ii = 0; ii < errors.count(); ++ii) {
const QQmlError &error = errors.at(ii);
errorstr += QLatin1String("\n ") + error.toString();
- QV4::Scoped<QV4::Object> qmlerror(scope, v4->newObject());
- qmlerror->put(v4->newString("lineNumber"), QV4::Value::fromInt32(error.line()));
- qmlerror->put(v4->newString("columnNumber"), QV4::Value::fromInt32(error.column()));
- qmlerror->put(v4->newString("fileName"), Value::fromString(v4->newString(error.url().toString())));
- qmlerror->put(v4->newString("message"), Value::fromString(v4->newString(error.description())));
+ qmlerror = v4->newObject();
+ qmlerror->put((s = v4->newString("lineNumber")), (v = QV4::Value::fromInt32(error.line())));
+ qmlerror->put((s = v4->newString("columnNumber")), (v = QV4::Value::fromInt32(error.column())));
+ qmlerror->put((s = v4->newString("fileName")), (v = Value::fromString(v4->newString(error.url().toString()))));
+ qmlerror->put((s = v4->newString("message")), (v = Value::fromString(v4->newString(error.description()))));
qmlerrors->putIndexed(ii, qmlerror.asValue());
}
Scoped<Object> errorObject(scope, v4->newErrorObject(Value::fromString(v4->newString(errorstr))));
- errorObject->put(v4->newString("qmlErrors"), qmlerrors.asValue());
+ errorObject->put((s = v4->newString("qmlErrors")), qmlerrors);
return errorObject.asReturnedValue();
}
};