aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/v8/qv8qobjectwrapper.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-05-30 15:42:44 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-05-30 16:44:25 +0200
commitacde568e10e3d60e02443762540461f35879fb77 (patch)
tree2a37fc2e44f2dbc788d54e511d744aff869677fc /src/qml/qml/v8/qv8qobjectwrapper.cpp
parentca7ddc345ec4df017b7db6aee5a823f817e6e708 (diff)
Port the value type wrapper over to use V4
Change-Id: I0c566d0ab8cdd0ddbc688b7a1462c4b21084b30a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/qml/v8/qv8qobjectwrapper.cpp')
-rw-r--r--src/qml/qml/v8/qv8qobjectwrapper.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/qml/qml/v8/qv8qobjectwrapper.cpp b/src/qml/qml/v8/qv8qobjectwrapper.cpp
index 2329bcfc63..79f221e8bc 100644
--- a/src/qml/qml/v8/qv8qobjectwrapper.cpp
+++ b/src/qml/qml/v8/qv8qobjectwrapper.cpp
@@ -1412,19 +1412,19 @@ static int MatchScore(v8::Handle<v8::Value> actual, int conversionType)
}
}
} else if (actual->IsObject()) {
- v8::Handle<v8::Object> obj = v8::Handle<v8::Object>::Cast(actual);
+ QV4::Object *obj = actual->v4Value().asObject();
+ QV8Engine *engine = obj->engine()->publicEngine->handle();
- if (QV4::VariantObject *v = obj->v4Value().asVariantObject()) {
+ if (QV4::VariantObject *v = obj->asVariantObject()) {
if (conversionType == qMetaTypeId<QVariant>())
return 0;
- QV8Engine *engine = v->engine()->publicEngine->handle();
if (engine->toVariant(actual->v4Value(), -1).userType() == conversionType)
return 0;
else
return 10;
}
- if (obj->v4Value().asQObjectWrapper()) {
+ if (obj->asQObjectWrapper()) {
switch (conversionType) {
case QMetaType::QObjectStar:
return 0;
@@ -1433,9 +1433,8 @@ static int MatchScore(v8::Handle<v8::Value> actual, int conversionType)
}
}
- QV8ObjectResource *r = static_cast<QV8ObjectResource *>(obj->GetExternalResource());
- if (r && r->resourceType() == QV8ObjectResource::ValueTypeType) {
- if (r->engine->toVariant(actual->v4Value(), -1).userType() == conversionType)
+ if (QV4::QmlValueTypeWrapper *w = obj->asQmlValueTypeWrapper()) {
+ if (engine->toVariant(actual->v4Value(), -1).userType() == conversionType)
return 0;
return 10;
} else if (conversionType == QMetaType::QJsonObject) {