diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2020-03-04 14:54:54 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2020-04-03 12:35:23 +0200 |
commit | 448b2a5d838d082c66ab649cc7b71c31761bf409 (patch) | |
tree | 17888b90b9e03eb52e2ba03611146a66a87e31a1 /src/qml/qml/qqmlvmemetaobject.cpp | |
parent | f1fd2b982a2ceae92da9b4a3875c65ed8a49560d (diff) |
Replace QFlagPointer with QTaggedPointer
The latter has the advantage of allowing the use of a real type for the
tag, instead of the generic flag/flag2 boolean accessors.
Change-Id: Icc9e854ce4af3eb5808a4bed45aa22f377e223da
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlvmemetaobject.cpp')
-rw-r--r-- | src/qml/qml/qqmlvmemetaobject.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/qml/qml/qqmlvmemetaobject.cpp b/src/qml/qml/qqmlvmemetaobject.cpp index c107f22df5..856dda1663 100644 --- a/src/qml/qml/qqmlvmemetaobject.cpp +++ b/src/qml/qml/qqmlvmemetaobject.cpp @@ -204,7 +204,12 @@ public: QQmlVMEMetaObjectEndpoint(); void tryConnect(); - QFlagPointer<QQmlVMEMetaObject> metaObject; + enum Tag { + NoTag, + EndPointIsConnected + }; + + QTaggedPointer<QQmlVMEMetaObject, Tag> metaObject; }; QQmlVMEMetaObjectEndpoint::QQmlVMEMetaObjectEndpoint() @@ -223,7 +228,7 @@ void QQmlVMEMetaObjectEndpoint::tryConnect() Q_ASSERT(metaObject->compiledObject); int aliasId = this - metaObject->aliasEndpoints; - if (metaObject.flag()) { + if (metaObject.tag() == EndPointIsConnected) { // This is actually notify int sigIdx = metaObject->methodOffset() + aliasId + metaObject->compiledObject->nProperties; metaObject->activate(metaObject->object, sigIdx, nullptr); @@ -258,7 +263,7 @@ void QQmlVMEMetaObjectEndpoint::tryConnect() connect(target, pd->notifyIndex(), ctxt->engine()); } - metaObject.setFlag(); + metaObject.setTag(EndPointIsConnected); } } |