aboutsummaryrefslogtreecommitdiffstats
path: root/src/webchannel/qmetaobjectpublisher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webchannel/qmetaobjectpublisher.cpp')
-rw-r--r--src/webchannel/qmetaobjectpublisher.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/webchannel/qmetaobjectpublisher.cpp b/src/webchannel/qmetaobjectpublisher.cpp
index 102cbda..e23921d 100644
--- a/src/webchannel/qmetaobjectpublisher.cpp
+++ b/src/webchannel/qmetaobjectpublisher.cpp
@@ -739,15 +739,19 @@ QJsonValue QMetaObjectPublisher::wrapResult(const QVariant &result, QWebChannelA
ObjectInfo oi(object);
if (transport) {
oi.transports.append(transport);
+ transportedWrappedObjects.insert(transport, id);
} else {
// use the transports from the parent object
oi.transports = wrappedObjects.value(parentObjectId).transports;
// or fallback to all transports if the parent is not wrapped
if (oi.transports.isEmpty())
oi.transports = webChannel->d_func()->transports;
+
+ for (auto transport : qAsConst(oi.transports)) {
+ transportedWrappedObjects.insert(transport, id);
+ }
}
wrappedObjects.insert(id, oi);
- transportedWrappedObjects.insert(transport, id);
initializePropertyUpdates(object, classInfo);
} else if (wrappedObjects.contains(id)) {