diff options
Diffstat (limited to 'src/webchannel/qmetaobjectpublisher.cpp')
-rw-r--r-- | src/webchannel/qmetaobjectpublisher.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/webchannel/qmetaobjectpublisher.cpp b/src/webchannel/qmetaobjectpublisher.cpp index b34b39e..3b2c016 100644 --- a/src/webchannel/qmetaobjectpublisher.cpp +++ b/src/webchannel/qmetaobjectpublisher.cpp @@ -591,8 +591,12 @@ QJsonValue QMetaObjectPublisher::wrapResult(const QVariant &result, QWebChannelA } else if (wrappedObjects.contains(id)) { Q_ASSERT(object == wrappedObjects.value(id).object); // check if this transport is already assigned to the object - if (transport && !wrappedObjects.value(id).transports.contains(transport)) - wrappedObjects[id].transports.append(transport); + if (transport) { + if (!wrappedObjects.value(id).transports.contains(transport)) + wrappedObjects[id].transports.append(transport); + if (!transportedWrappedObjects.contains(transport, id)) + transportedWrappedObjects.insertMulti(transport, id); + } classInfo = wrappedObjects.value(id).classinfo; } |