fix incorrect version asignment

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2025-11-27 23:52:56 +02:00
parent a8dff78fe5
commit afe4159a2a
No known key found for this signature in database
GPG key ID: 55EF5DA53DB36318
4 changed files with 9 additions and 7 deletions

View file

@ -441,7 +441,8 @@ void InstanceImportTask::processExtraInfoPack()
}
auto populateExtraInfo = [this](GetModPackExtraInfoTask* task) {
m_extra_info.insert("pack_id", task->getVersion().addonId.toString());
m_extra_info.insert("pack_version_id", task->getVersion().version);
m_extra_info.insert("pack_version_id", task->getVersion().fileId.toString());
m_original_version = task->getVersion().version;
setIcon(task->getLogoName());
};
auto modrinthTask = makeShared<GetModPackExtraInfoTask>(m_archivePath, ModPlatform::ResourceProvider::MODRINTH);

View file

@ -277,7 +277,7 @@ std::optional<ModPlatform::IndexedVersion> FlameAPI::getLatestVersion(QList<ModP
Task::Ptr FlameAPI::getVersionFromHash(QString hash, ModPlatform::IndexedVersion& output)
{
auto response = std::make_shared<QByteArray>();
auto ver_task = matchFingerprints({ hash.toUInt() }, response);
auto ver_task = matchFingerprints({ hash.toUInt() }, response.get());
QObject::connect(ver_task.get(), &Task::succeeded, [response, &output, hash] {
QJsonParseError parse_error{};
QJsonDocument doc = QJsonDocument::fromJson(*response, &parse_error);
@ -299,15 +299,15 @@ Task::Ptr FlameAPI::getVersionFromHash(QString hash, ModPlatform::IndexedVersion
}
for (auto match : data_arr) {
auto match_obj = Json::ensureObject(match, {});
auto file_obj = Json::ensureObject(match_obj, "file", {});
auto match_obj = match.toObject();
auto file_obj = match_obj["file"].toObject();
if (match_obj.isEmpty() || file_obj.isEmpty()) {
qWarning() << "Fingerprint match is empty!";
continue;
}
auto fingerprint = QString::number(Json::ensureVariant(file_obj, "fileFingerprint").toUInt());
auto fingerprint = QString::number(file_obj["fileFingerprint"].toInt());
if (fingerprint != hash)
continue;
output = FlameMod::loadIndexedPackVersion(file_obj);

View file

@ -129,7 +129,7 @@ void GetModPackExtraInfoTask::getProjectInfo()
setStatus(tr("Get project information"));
setProgress(3, 4);
auto responseInfo = std::make_shared<QByteArray>();
auto projectTask = m_api->getProject(m_version.addonId.toString(), responseInfo);
auto projectTask = m_api->getProject(m_version.addonId.toString(), responseInfo.get());
connect(projectTask.get(), &Task::succeeded, [responseInfo, this] {
QJsonParseError parse_error{};
QJsonDocument doc = QJsonDocument::fromJson(*responseInfo, &parse_error);

View file

@ -167,11 +167,12 @@ QList<ModPlatform::Category> ModrinthAPI::loadModCategories(const QByteArray& re
{
return loadCategories(response, "mod");
}
Task::Ptr ModrinthAPI::getVersionFromHash(QString hash, ModPlatform::IndexedVersion& output)
{
auto hash_type = ModPlatform::ProviderCapabilities::hashType(ModPlatform::ResourceProvider::MODRINTH).first();
auto response = std::make_shared<QByteArray>();
auto ver_task = currentVersion(hash, hash_type, response);
auto ver_task = currentVersion(hash, hash_type, response.get());
QObject::connect(ver_task.get(), &Task::succeeded, [response, &output] {
QJsonParseError parse_error{};
QJsonDocument doc = QJsonDocument::fromJson(*response, &parse_error);