diff options
Diffstat (limited to 'src/webchannel/qmetaobjectpublisher.cpp')
-rw-r--r-- | src/webchannel/qmetaobjectpublisher.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/webchannel/qmetaobjectpublisher.cpp b/src/webchannel/qmetaobjectpublisher.cpp index 9f5e9cd..102cbda 100644 --- a/src/webchannel/qmetaobjectpublisher.cpp +++ b/src/webchannel/qmetaobjectpublisher.cpp @@ -781,7 +781,10 @@ QJsonValue QMetaObjectPublisher::wrapResult(const QVariant &result, QWebChannelA #endif } else if (result.canConvert<QVariantList>()) { // recurse and potentially wrap contents of the array - return wrapList(result.toList(), transport); + // *don't* use result.toList() as that *only* works for QVariantList and QStringList! + // Also, don't use QSequentialIterable (yet), since that seems to trigger QTBUG-42016 + // in certain cases. + return wrapList(result.value<QVariantList>(), transport); } else if (result.canConvert<QVariantMap>()) { // recurse and potentially wrap contents of the map return wrapMap(result.toMap(), transport); |