diff options
| author | Ulf Hermann <ulf.hermann@qt.io> | 2022-11-30 12:51:12 +0100 |
|---|---|---|
| committer | Ulf Hermann <ulf.hermann@qt.io> | 2022-12-02 13:35:31 +0100 |
| commit | f0528befa0e1a4a02b90fd31517fdbb88279e0b6 (patch) | |
| tree | 98e7bb65bf9e4a477cd0bdbdbe362fccf82c9123 /src/qml/jsruntime/qv4qobjectwrapper.cpp | |
| parent | 784367ad1722a550e83e4925da2d4809adeca750 (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.cpp | 12 |
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(); |
