diff options
author | Trial97 <alexandru.tripon97@gmail.com> | 2023-04-17 00:49:35 +0300 |
---|---|---|
committer | Trial97 <alexandru.tripon97@gmail.com> | 2023-04-21 18:42:05 +0300 |
commit | 7bd26ce4687b498fb91d42594da07fea1eca5552 (patch) | |
tree | 69e7514378593e08ba5bb65123d6783ecc262c9d /launcher/ui/pages | |
parent | bcea19b957bb0db4270b7573540af40143cca7de (diff) | |
download | PrismLauncher-7bd26ce4687b498fb91d42594da07fea1eca5552.tar.gz PrismLauncher-7bd26ce4687b498fb91d42594da07fea1eca5552.tar.bz2 PrismLauncher-7bd26ce4687b498fb91d42594da07fea1eca5552.zip |
Semi fixed the Modrinth dependency implementation
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
Diffstat (limited to 'launcher/ui/pages')
-rw-r--r-- | launcher/ui/pages/modplatform/ResourceModel.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/launcher/ui/pages/modplatform/ResourceModel.cpp b/launcher/ui/pages/modplatform/ResourceModel.cpp index 75585d6f..c1ffd0da 100644 --- a/launcher/ui/pages/modplatform/ResourceModel.cpp +++ b/launcher/ui/pages/modplatform/ResourceModel.cpp @@ -459,11 +459,18 @@ QList<ModPlatform::IndexedVersion> ResourceModel::getDependecies(QDir& dir, QLis // Use default if no callbacks are set if (!callbacks.on_succeed) - callbacks.on_succeed = [this, dependency, succeeded](auto& doc, auto pack) { + callbacks.on_succeed = [this, dependency, succeeded](auto& doc, auto& pack) { ModPlatform::IndexedVersion ver; try { - auto arr = doc.isObject() ? Json::ensureArray(doc.object(), "data") : doc.array(); + auto arr = dependency.version.length() != 0 && doc.isObject() + ? Json::toJsonArray(QList<QJsonObject>() << doc.object()) + : doc.isObject() ? Json::ensureArray(doc.object(), "data") + : doc.array(); ver = loadDependencyVersions(dependency, arr); + if (!ver.addonId.isValid()) { + qWarning() << "Error while reading " << debugName() << " resource version empty "; + qDebug() << doc; + } } catch (const JSONValidationError& e) { qDebug() << doc; qWarning() << "Error while reading " << debugName() << " resource version: " << e.cause(); |