diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-05-30 15:42:44 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2013-05-30 16:44:25 +0200 |
commit | acde568e10e3d60e02443762540461f35879fb77 (patch) | |
tree | 2a37fc2e44f2dbc788d54e511d744aff869677fc /src/qml/qml/v8/qv8qobjectwrapper.cpp | |
parent | ca7ddc345ec4df017b7db6aee5a823f817e6e708 (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.cpp | 13 |
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) { |