diff options
Diffstat (limited to 'src/qml/qml/qqmltypewrapper.cpp')
-rw-r--r-- | src/qml/qml/qqmltypewrapper.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/qml/qml/qqmltypewrapper.cpp b/src/qml/qml/qqmltypewrapper.cpp index 3fd39754e5..258442bc1d 100644 --- a/src/qml/qml/qqmltypewrapper.cpp +++ b/src/qml/qml/qqmltypewrapper.cpp @@ -286,4 +286,15 @@ void QmlTypeWrapper::destroy(Managed *that) static_cast<QmlTypeWrapper *>(that)->~QmlTypeWrapper(); } +bool QmlTypeWrapper::isEqualTo(Managed *a, Managed *b) +{ + QV4::QmlTypeWrapper *qmlTypeWrapperA = a->asObject()->as<QV4::QmlTypeWrapper>(); + if (QV4::QmlTypeWrapper *qmlTypeWrapperB = b->asObject()->as<QV4::QmlTypeWrapper>()) + return qmlTypeWrapperA->toVariant() == qmlTypeWrapperB->toVariant(); + else if (QV4::QObjectWrapper *qobjectWrapper = b->as<QV4::QObjectWrapper>()) + return qmlTypeWrapperA->toVariant().value<QObject*>() == qobjectWrapper->object(); + + return false; +} + QT_END_NAMESPACE |