diff options
Diffstat (limited to 'src/qml/jsruntime')
-rw-r--r-- | src/qml/jsruntime/qv4executablecompilationunit.cpp | 5 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4lookup_p.h | 8 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4qobjectwrapper.cpp | 2 |
3 files changed, 6 insertions, 9 deletions
diff --git a/src/qml/jsruntime/qv4executablecompilationunit.cpp b/src/qml/jsruntime/qv4executablecompilationunit.cpp index 7059c14212..5aaec63a05 100644 --- a/src/qml/jsruntime/qv4executablecompilationunit.cpp +++ b/src/qml/jsruntime/qv4executablecompilationunit.cpp @@ -322,12 +322,7 @@ void ExecutableCompilationUnit::unlink() || l.getter == QQmlTypeWrapper::lookupSingletonProperty) { if (QQmlPropertyCache *pc = l.qobjectLookup.propertyCache) pc->release(); - } else if (l.getter == QQmlValueTypeWrapper::lookupGetter - || l.getter == QQmlTypeWrapper::lookupSingletonProperty) { - if (QQmlPropertyCache *pc = l.qgadgetLookup.propertyCache) - pc->release(); } - if (l.qmlContextPropertyGetter == QQmlContextWrapper::lookupScopeObjectProperty || l.qmlContextPropertyGetter == QQmlContextWrapper::lookupContextObjectProperty) { if (QQmlPropertyCache *pc = l.qobjectLookup.propertyCache) diff --git a/src/qml/jsruntime/qv4lookup_p.h b/src/qml/jsruntime/qv4lookup_p.h index 31c90b31f6..6232d78a57 100644 --- a/src/qml/jsruntime/qv4lookup_p.h +++ b/src/qml/jsruntime/qv4lookup_p.h @@ -126,9 +126,11 @@ struct Q_QML_PRIVATE_EXPORT Lookup { } qobjectLookup; struct { Heap::InternalClass *ic; - quintptr unused; - QQmlPropertyCache *propertyCache; - QQmlPropertyData *propertyData; + quintptr metaObject; // a (const QMetaObject* & 1) or nullptr + const QtPrivate::QMetaTypeInterface *metaType; // cannot use QMetaType; class must be trivial + quint16 coreIndex; + bool isFunction; + bool isEnum; } qgadgetLookup; struct { quintptr unused1; diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp index 5d5165e7f9..2e6df06c36 100644 --- a/src/qml/jsruntime/qv4qobjectwrapper.cpp +++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp @@ -2032,7 +2032,7 @@ void Heap::QObjectMethod::init(QV4::ExecutionContext *scope) const QMetaObject *Heap::QObjectMethod::metaObject() { if (valueTypeWrapper) - return valueTypeWrapper->propertyCache()->createMetaObject(); + return valueTypeWrapper->metaObject(); return object()->metaObject(); } |