aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2020-11-23 14:53:33 +0100
committerFabian Kosmale <fabian.kosmale@qt.io>2020-12-02 12:54:52 +0100
commit7163d6b2a4b9c74ea0378067814b6bd8523b27f5 (patch)
treebcb6ded14fd76767f58391a29d12f62d1a46527a /src/qml
parente5f06d60245b75dd31daa2f212619236e6808cd3 (diff)
Remove the pointer to the property cache in QObjectMethod
It's not being used anymore. Original-patch-by: Lars Knoll <lars.knoll@qt.io> Task-number: QTBUG-88765 Change-Id: Ieab1cba6c664c65d123d8f1ffd6db5878010f965 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml')
-rw-r--r--src/qml/jsruntime/qv4qobjectwrapper.cpp8
-rw-r--r--src/qml/jsruntime/qv4qobjectwrapper_p.h11
2 files changed, 2 insertions, 17 deletions
diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp
index 02f9dee3d3..5d5165e7f9 100644
--- a/src/qml/jsruntime/qv4qobjectwrapper.cpp
+++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp
@@ -2011,9 +2011,6 @@ ReturnedValue QObjectMethod::create(ExecutionContext *scope, QObject *object, in
Scoped<QObjectMethod> method(valueScope, valueScope.engine->memoryManager->allocate<QObjectMethod>(scope));
method->d()->setObject(object);
- if (QQmlData *ddata = QQmlData::get(object))
- method->d()->setPropertyCache(ddata->propertyCache);
-
method->d()->index = index;
return method.asReturnedValue();
}
@@ -2022,7 +2019,6 @@ ReturnedValue QObjectMethod::create(ExecutionContext *scope, Heap::QQmlValueType
{
Scope valueScope(scope);
Scoped<QObjectMethod> method(valueScope, valueScope.engine->memoryManager->allocate<QObjectMethod>(scope));
- method->d()->setPropertyCache(valueType->propertyCache());
method->d()->index = index;
method->d()->valueTypeWrapper.set(valueScope.engine, valueType);
return method.asReturnedValue();
@@ -2035,8 +2031,8 @@ void Heap::QObjectMethod::init(QV4::ExecutionContext *scope)
const QMetaObject *Heap::QObjectMethod::metaObject()
{
- if (propertyCache())
- return propertyCache()->createMetaObject();
+ if (valueTypeWrapper)
+ return valueTypeWrapper->propertyCache()->createMetaObject();
return object()->metaObject();
}
diff --git a/src/qml/jsruntime/qv4qobjectwrapper_p.h b/src/qml/jsruntime/qv4qobjectwrapper_p.h
index 896de97c56..b5c3da311a 100644
--- a/src/qml/jsruntime/qv4qobjectwrapper_p.h
+++ b/src/qml/jsruntime/qv4qobjectwrapper_p.h
@@ -98,7 +98,6 @@ private:
#define QObjectMethodMembers(class, Member) \
Member(class, Pointer, QQmlValueTypeWrapper *, valueTypeWrapper) \
Member(class, NoMark, QV4QPointer<QObject>, qObj) \
- Member(class, NoMark, QQmlPropertyCache *, _propertyCache) \
Member(class, NoMark, int, index)
DECLARE_HEAP_OBJECT(QObjectMethod, FunctionObject) {
@@ -113,20 +112,10 @@ DECLARE_HEAP_OBJECT(QObjectMethod, FunctionObject) {
{
if (methods != reinterpret_cast<QQmlPropertyData *>(&_singleMethod))
delete[] methods;
- setPropertyCache(nullptr);
qObj.destroy();
FunctionObject::destroy();
}
- QQmlPropertyCache *propertyCache() const { return _propertyCache; }
- void setPropertyCache(QQmlPropertyCache *c) {
- if (c)
- c->addref();
- if (_propertyCache)
- _propertyCache->release();
- _propertyCache = c;
- }
-
void ensureMethodsCache();
const QMetaObject *metaObject();