QtSupport: Fix VersionData cache

Change-Id: I90d2b7d152123118b6244c86539868d185fde51b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Marcus Tillmanns
2023-09-29 13:58:16 +02:00
parent 8d21274b28
commit c74ed31d67

View File

@@ -119,19 +119,19 @@ public:
QHash<ProKey, ProString> versionInfo; QHash<ProKey, ProString> versionInfo;
bool versionInfoUpToDate = false; bool versionInfoUpToDate = false;
static QHash<ProKey, ProString> fromVariantMap(const QVariantMap &map) static QHash<ProKey, ProString> fromStore(const Store &map)
{ {
QHash<ProKey, ProString> result; QHash<ProKey, ProString> result;
for (auto it = map.constBegin(); it != map.constEnd(); ++it) for (auto it = map.constBegin(); it != map.constEnd(); ++it)
result.insert(ProKey(it.key()), ProString(it.value().toString())); result.insert(ProKey(it.key().toByteArray()), ProString(it.value().toString()));
return result; return result;
} }
static QVariantMap toVariantMap(const QHash<ProKey, ProString> &map) static Store toStore(const QHash<ProKey, ProString> &map)
{ {
QVariantMap result; Store result;
for (auto it = map.constBegin(); it != map.constEnd(); ++it) for (auto it = map.constBegin(); it != map.constEnd(); ++it)
result.insert(it.key().toQString(), it.value().toQString()); result.insert(it.key().toString().toQString().toUtf8(), it.value().toQString());
return result; return result;
} }
@@ -170,7 +170,7 @@ public:
result.insert("HostDataPath", hostDataPath.toSettings()); result.insert("HostDataPath", hostDataPath.toSettings());
result.insert("HostPrefixPath", hostPrefixPath.toSettings()); result.insert("HostPrefixPath", hostPrefixPath.toSettings());
result.insert("QtAbis", Utils::transform(qtAbis, &Abi::toString)); result.insert("QtAbis", Utils::transform(qtAbis, &Abi::toString));
result.insert("VersionInfo", toVariantMap(versionInfo)); result.insert("VersionInfo", QVariant::fromValue(toStore(versionInfo)));
return result; return result;
} }
@@ -209,7 +209,7 @@ public:
hostDataPath = FilePath::fromSettings(map.value("HostDataPath")); hostDataPath = FilePath::fromSettings(map.value("HostDataPath"));
hostPrefixPath = FilePath::fromSettings(map.value("HostPrefixPath")); hostPrefixPath = FilePath::fromSettings(map.value("HostPrefixPath"));
qtAbis = Utils::transform(map.value("QtAbis").toStringList(), &Abi::fromString); qtAbis = Utils::transform(map.value("QtAbis").toStringList(), &Abi::fromString);
versionInfo = fromVariantMap(map.value("VersionInfo").toMap()); versionInfo = fromStore(map.value("VersionInfo").value<Store>());
} }
}; };