aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4qobjectwrapper.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2022-11-30 12:51:12 +0100
committerUlf Hermann <ulf.hermann@qt.io>2022-12-02 13:35:31 +0100
commitf0528befa0e1a4a02b90fd31517fdbb88279e0b6 (patch)
tree98e7bb65bf9e4a477cd0bdbdbe362fccf82c9123 /src/qml/jsruntime/qv4qobjectwrapper.cpp
parent784367ad1722a550e83e4925da2d4809adeca750 (diff)
QQmlMetaObjectWrapper: A metaobject is not equal to a non-metaobject
In particular, the Qt object's prototype is not equal to anything. Change-Id: I208d0bd914b0890e842775d273f2d3b5c63c1d36 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4qobjectwrapper.cpp')
-rw-r--r--src/qml/jsruntime/qv4qobjectwrapper.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp
index 2d33b5f36e..e249c8a6d8 100644
--- a/src/qml/jsruntime/qv4qobjectwrapper.cpp
+++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp
@@ -2622,19 +2622,15 @@ ReturnedValue QMetaObjectWrapper::constructInternal(const Value *argv, int argc)
bool QMetaObjectWrapper::virtualIsEqualTo(Managed *a, Managed *b)
{
- Q_ASSERT(a->as<QMetaObjectWrapper>());
- QMetaObjectWrapper *aMetaObject = a->as<QMetaObjectWrapper>();
- QMetaObjectWrapper *bMetaObject = b->as<QMetaObjectWrapper>();
- if (!bMetaObject)
- return true;
- return aMetaObject->metaObject() == bMetaObject->metaObject();
+ const QMetaObjectWrapper *aMetaObject = a->as<QMetaObjectWrapper>();
+ Q_ASSERT(aMetaObject);
+ const QMetaObjectWrapper *bMetaObject = b->as<QMetaObjectWrapper>();
+ return bMetaObject && aMetaObject->metaObject() == bMetaObject->metaObject();
}
DEFINE_OBJECT_VTABLE(QMetaObjectWrapper);
-
-
void Heap::QmlSignalHandler::init(QObject *object, int signalIndex)
{
Object::init();