diff options
author | Brett Stottlemyer <bstottle@ford.com> | 2019-04-27 09:34:44 -0400 |
---|---|---|
committer | Michael Brasser <michael.brasser@live.com> | 2019-05-01 17:11:10 +0000 |
commit | 539a087eb099181630b5f5bd20d41a7b4bd45b66 (patch) | |
tree | 876590b25647c8a2b5004daaaf9077d858fb96cc /src/remoteobjects/qremoteobjectnode_p.h | |
parent | c4e5f629c09d197c49fd1be59a8fdfeaba064c15 (diff) |
Fix registration for dynamic Replicas
This adds new tests for checking that the proxy (which uses dynamic
replicas to avoid needing to include headers for all proxied types) works
correctly over multiple processes.
This found several edge cases not seen in the earlier (single process)
proxy auto tests.
1) When sending a new sub class to a dynamic replica, the properties need
to be stored in a separate QByteArray and extracted after the metatype
info (for both classes and gadgets) is processed.
2) When the templated acquire is used, the metatype information needs to
be added to the dynamicTypeManager.
3) There is an edge case where the DynamicApiMap for a null object could
not be built correctly. In this case, it needed to be regenerated once
a valid object was available for the Replica sub-class.
4) There were several edge cases where the typeName needed to be updated.
[ChangeLog][Important Behavior Changes] Qt Remote Objects uses an internal
protocol to pass data between processes and/or devices. The same protocol
version needs to be used on all sides. The version was bumped from 1.2 to
1.3 in this release, fixing potential crashes (see QTBUG-75017). If there
is a mismatch, the connecting node will output a warning and the host node
will not send any data.
Change-Id: I7af50f16ed370351eb0692d5f4b983848846b504
Fixes: QTBUG-75017
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Diffstat (limited to 'src/remoteobjects/qremoteobjectnode_p.h')
-rw-r--r-- | src/remoteobjects/qremoteobjectnode_p.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/remoteobjects/qremoteobjectnode_p.h b/src/remoteobjects/qremoteobjectnode_p.h index 17642b6..bf6a0bd 100644 --- a/src/remoteobjects/qremoteobjectnode_p.h +++ b/src/remoteobjects/qremoteobjectnode_p.h @@ -91,7 +91,7 @@ public: const QMetaObject *metaObjectForType(const QString &type); QMetaObject *addDynamicType(IoDeviceBase* connection, QDataStream &in); - void addFromReplica(QConnectedReplicaImplementation *rep); + void addFromMetaObject(const QMetaObject *); private: QHash<QString, QMetaObject*> dynamicTypes; |