aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/v8/qv8qobjectwrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/v8/qv8qobjectwrapper.cpp')
-rw-r--r--src/qml/qml/v8/qv8qobjectwrapper.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/qml/qml/v8/qv8qobjectwrapper.cpp b/src/qml/qml/v8/qv8qobjectwrapper.cpp
index bee176f829..14694a52fd 100644
--- a/src/qml/qml/v8/qv8qobjectwrapper.cpp
+++ b/src/qml/qml/v8/qv8qobjectwrapper.cpp
@@ -440,20 +440,17 @@ static v8::Handle<v8::Value> LoadProperty(QV8Engine *engine, QObject *object,
} else if (property.isQVariant()) {
QVariant v;
ReadFunction(object, property, &v, notifier);
- if (QQmlValueTypeFactory::isValueType(v.userType()) && engine->engine()) {
- QQmlEnginePrivate *ep = QQmlEnginePrivate::get(engine->engine());
- QQmlValueType *valueType = ep->valueTypes[v.userType()];
- if (valueType)
+
+ if (QQmlValueTypeFactory::isValueType(v.userType())) {
+ if (QQmlValueType *valueType = QQmlValueTypeFactory::valueType(v.userType()))
return engine->newValueType(object, property.coreIndex, valueType); // VariantReference value-type.
}
+
return engine->fromVariant(v);
- } else if (QQmlValueTypeFactory::isValueType((uint)property.propType)
- && engine->engine()) {
+ } else if (QQmlValueTypeFactory::isValueType(property.propType)) {
Q_ASSERT(notifier == 0);
- QQmlEnginePrivate *ep = QQmlEnginePrivate::get(engine->engine());
- QQmlValueType *valueType = ep->valueTypes[property.propType];
- if (valueType)
+ if (QQmlValueType *valueType = QQmlValueTypeFactory::valueType(property.propType))
return engine->newValueType(object, property.coreIndex, valueType);
} else {
Q_ASSERT(notifier == 0);