diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2012-05-30 10:24:14 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-05 04:35:50 +0200 |
commit | c734706c69ed5b38cc97aea5be3f0553c194aa0a (patch) | |
tree | ec95a87fd3e3d9ad5d9b35c79b4beee291b99088 /src/qml/qml/qqmlproperty.cpp | |
parent | 751c1ca09305a15acc37cb28cb4687e1bb32e1d2 (diff) |
Delay conversion of v8 exceptions to QQmlErrors.
This conversion in relatively expensive, and not required for transient
exceptions that occur during startup due to the order of binding
evaluation.
Change-Id: I29a16c075890c8966c0bad0a77412ad232c791bb
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmlproperty.cpp')
-rw-r--r-- | src/qml/qml/qqmlproperty.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/qml/qml/qqmlproperty.cpp b/src/qml/qml/qqmlproperty.cpp index 5450fda364..2a8aa32f23 100644 --- a/src/qml/qml/qqmlproperty.cpp +++ b/src/qml/qml/qqmlproperty.cpp @@ -1545,7 +1545,7 @@ bool QQmlPropertyPrivate::writeBinding(QObject *object, && !result->ToObject()->GetHiddenValue(v8engine->bindingFlagKey()).IsEmpty()) { // we explicitly disallow this case to avoid confusion. Users can still store one // in an array in a var property if they need to, but the common case is user error. - expression->delayedError()->error.setDescription(QLatin1String("Invalid use of Qt.binding() in a binding declaration.")); + expression->delayedError()->setErrorDescription(QLatin1String("Invalid use of Qt.binding() in a binding declaration.")); return false; } @@ -1561,7 +1561,7 @@ bool QQmlPropertyPrivate::writeBinding(QObject *object, } else if (type == qMetaTypeId<QJSValue>()) { if (!result.IsEmpty() && result->IsFunction() && !result->ToObject()->GetHiddenValue(v8engine->bindingFlagKey()).IsEmpty()) { - expression->delayedError()->error.setDescription(QLatin1String("Invalid use of Qt.binding() in a binding declaration.")); + expression->delayedError()->setErrorDescription(QLatin1String("Invalid use of Qt.binding() in a binding declaration.")); return false; } writeValueProperty(object, engine, core, QVariant::fromValue(v8engine->scriptValueFromInternal(result)), context, flags); @@ -1571,13 +1571,13 @@ bool QQmlPropertyPrivate::writeBinding(QObject *object, errorStr += QLatin1String("[unknown property type]"); else errorStr += QLatin1String(QMetaType::typeName(type)); - expression->delayedError()->error.setDescription(errorStr); + expression->delayedError()->setErrorDescription(errorStr); return false; } else if (result->IsFunction()) { if (!result->ToObject()->GetHiddenValue(v8engine->bindingFlagKey()).IsEmpty()) - expression->delayedError()->error.setDescription(QLatin1String("Invalid use of Qt.binding() in a binding declaration.")); + expression->delayedError()->setErrorDescription(QLatin1String("Invalid use of Qt.binding() in a binding declaration.")); else - expression->delayedError()->error.setDescription(QLatin1String("Unable to assign a function to a property of any type other than var.")); + expression->delayedError()->setErrorDescription(QLatin1String("Unable to assign a function to a property of any type other than var.")); return false; } else if (!writeValueProperty(object, engine, core, value, context, flags)) { @@ -1606,10 +1606,10 @@ bool QQmlPropertyPrivate::writeBinding(QObject *object, if (!propertyType) propertyType = "[unknown property type]"; - expression->delayedError()->error.setDescription(QLatin1String("Unable to assign ") + - QLatin1String(valueType) + - QLatin1String(" to ") + - QLatin1String(propertyType)); + expression->delayedError()->setErrorDescription(QLatin1String("Unable to assign ") + + QLatin1String(valueType) + + QLatin1String(" to ") + + QLatin1String(propertyType)); return false; } |