diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-05-30 18:56:47 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2013-05-30 20:55:19 +0200 |
commit | 07c7c419cc2231112ddb39b11c709bf3843ace6d (patch) | |
tree | 09582b2023e84d8b4c8ff958dd5bc01fb09ea651 /src/qml/qml/qqmlvaluetypewrapper.cpp | |
parent | acde568e10e3d60e02443762540461f35879fb77 (diff) |
Fix all autotests related to value types
Fix 3 bugs in the new implementation, and adjust two expected error
messages in the auto test.
Change-Id: Ic3c08e54f9babc7e4779d67829e36f3ff805e127
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/qml/qqmlvaluetypewrapper.cpp')
-rw-r--r-- | src/qml/qml/qqmlvaluetypewrapper.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlvaluetypewrapper.cpp b/src/qml/qml/qqmlvaluetypewrapper.cpp index 36b9994660..31c95e6a53 100644 --- a/src/qml/qml/qqmlvaluetypewrapper.cpp +++ b/src/qml/qml/qqmlvaluetypewrapper.cpp @@ -136,7 +136,7 @@ void QmlValueTypeWrapper::initProto(ExecutionEngine *v4) return; Object *o = v4->newObject(); - o->defineDefaultProperty(v4, QStringLiteral("toString"), method_toString); + o->defineDefaultProperty(v4, QStringLiteral("toString"), method_toString, 1); proto = Value::fromObject(o); } @@ -146,6 +146,7 @@ Value QmlValueTypeWrapper::create(QV8Engine *v8, QObject *object, int property, initProto(v4); QmlValueTypeReference *r = new (v4->memoryManager) QmlValueTypeReference(v8); + r->externalComparison = true; r->prototype = proto.value().objectValue(); r->type = type; r->object = object; r->property = property; return Value::fromObject(r); @@ -157,6 +158,7 @@ Value QmlValueTypeWrapper::create(QV8Engine *v8, const QVariant &value, QQmlValu initProto(v4); QmlValueTypeCopy *r = new (v4->memoryManager) QmlValueTypeCopy(v8); + r->externalComparison = true; r->prototype = proto.value().objectValue(); r->type = type; r->value = value; return Value::fromObject(r); @@ -274,7 +276,7 @@ Value QmlValueTypeWrapper::get(Managed *m, ExecutionContext *ctx, String *name, } if (!result) - return Value::undefinedValue(); + return Object::get(m, ctx, name, hasProperty); if (result->isFunction()) { // calling a Q_INVOKABLE function of a value type |