From fff1436e265413f218de64435c92ebe341624ea2 Mon Sep 17 00:00:00 2001 From: Gabriele Date: Sun, 12 Apr 2015 22:52:12 +0200 Subject: [PATCH] WebUI: Convert torrent list from QVariantHash to QVariantMap Currently QJsonDocument::fromVariant() does not support QVariantHash, so convert the torrent list to QVariantMap. Closes #2849. --- src/webui/btjson.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/webui/btjson.cpp b/src/webui/btjson.cpp index 34bd0f986..816724809 100644 --- a/src/webui/btjson.cpp +++ b/src/webui/btjson.cpp @@ -736,6 +736,17 @@ QVariantMap generateSyncData(int acceptedResponseId, QVariantMap data, QVariantM if (fullUpdate) { lastAcceptedData.clear(); syncData = data; + +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) && QT_VERSION < QT_VERSION_CHECK(5, 5, 0)) + // QJsonDocument::fromVariant() supports QVariantHash only + // since Qt5.5, so manually convert data["torrents"] + QVariantMap torrentsMap; + QVariantHash torrents = data["torrents"].toHash(); + foreach (const QString &key, torrents.keys()) + torrentsMap[key] = torrents[key]; + syncData["torrents"] = torrentsMap; +#endif + syncData[KEY_FULL_UPDATE] = true; }