diff options
Diffstat (limited to 'src/qml/qml/v8/qv8valuetypewrapper.cpp')
-rw-r--r-- | src/qml/qml/v8/qv8valuetypewrapper.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/qml/qml/v8/qv8valuetypewrapper.cpp b/src/qml/qml/v8/qv8valuetypewrapper.cpp index cf2c13fce9..cdee5a4771 100644 --- a/src/qml/qml/v8/qv8valuetypewrapper.cpp +++ b/src/qml/qml/v8/qv8valuetypewrapper.cpp @@ -44,6 +44,7 @@ #include <private/qqmlvaluetype_p.h> #include <private/qqmlbinding_p.h> +#include <private/qqmlglobal_p.h> QT_BEGIN_NAMESPACE @@ -148,6 +149,14 @@ v8::Local<v8::Object> QV8ValueTypeWrapper::newValueType(const QVariant &value, Q return rv; } +QVariant QV8ValueTypeWrapper::toVariant(v8::Handle<v8::Object> obj, int typeHint, bool *succeeded) +{ + // NOTE: obj must not be an external resource object (ie, wrapper object) + // instead, it is a normal js object which one of the value-type providers + // may know how to convert to the given type. + return QQml_valueTypeProvider()->createVariantFromJsObject(typeHint, QQmlV8Handle::fromHandle(obj), m_engine, succeeded); +} + QVariant QV8ValueTypeWrapper::toVariant(v8::Handle<v8::Object> obj) { QV8ValueTypeResource *r = v8_resource_cast<QV8ValueTypeResource>(obj); |