Fix modpack search abort crash (#4327)
This commit is contained in:
@@ -67,7 +67,10 @@ Task::Ptr ResourceAPI::searchProjects(SearchArgs&& args, Callback<QList<ModPlatf
|
||||
}
|
||||
callbacks.on_fail(reason, network_error_code);
|
||||
});
|
||||
QObject::connect(netJob.get(), &NetJob::aborted, [callbacks] { callbacks.on_abort(); });
|
||||
QObject::connect(netJob.get(), &NetJob::aborted, [callbacks] {
|
||||
if (callbacks.on_abort != nullptr)
|
||||
callbacks.on_abort();
|
||||
});
|
||||
|
||||
return netJob;
|
||||
}
|
||||
@@ -135,7 +138,10 @@ Task::Ptr ResourceAPI::getProjectVersions(VersionSearchArgs&& args, Callback<QVe
|
||||
}
|
||||
callbacks.on_fail(reason, network_error_code);
|
||||
});
|
||||
QObject::connect(netJob.get(), &NetJob::aborted, [callbacks] { callbacks.on_abort(); });
|
||||
QObject::connect(netJob.get(), &NetJob::aborted, [callbacks] {
|
||||
if (callbacks.on_abort != nullptr)
|
||||
callbacks.on_abort();
|
||||
});
|
||||
|
||||
return netJob;
|
||||
}
|
||||
@@ -182,7 +188,10 @@ Task::Ptr ResourceAPI::getProjectInfo(ProjectInfoArgs&& args, Callback<ModPlatfo
|
||||
}
|
||||
callbacks.on_fail(reason, network_error_code);
|
||||
});
|
||||
QObject::connect(job.get(), &NetJob::aborted, [callbacks] { callbacks.on_abort(); });
|
||||
QObject::connect(job.get(), &NetJob::aborted, [callbacks] {
|
||||
if (callbacks.on_abort != nullptr)
|
||||
callbacks.on_abort();
|
||||
});
|
||||
return job;
|
||||
}
|
||||
|
||||
|
||||
@@ -189,6 +189,10 @@ void ListModel::performPaginatedSearch()
|
||||
|
||||
callbacks.on_succeed = [this](auto& doc) { searchRequestFinished(doc); };
|
||||
callbacks.on_fail = [this](QString reason, int) { searchRequestFailed(reason); };
|
||||
callbacks.on_abort = [this] {
|
||||
qCritical() << "Search task aborted by an unknown reason!";
|
||||
searchRequestFailed("Aborted");
|
||||
};
|
||||
|
||||
auto netJob = api.searchProjects({ ModPlatform::ResourceType::Modpack, m_nextSearchOffset, m_currentSearchTerm, sort, m_filter->loaders,
|
||||
m_filter->versions, ModPlatform::Side::NoSide, m_filter->categoryIds, m_filter->openSource },
|
||||
|
||||
@@ -159,6 +159,10 @@ void ModpackListModel::performPaginatedSearch()
|
||||
|
||||
callbacks.on_succeed = [this](auto& doc) { searchRequestFinished(doc); };
|
||||
callbacks.on_fail = [this](QString reason, int) { searchRequestFailed(reason); };
|
||||
callbacks.on_abort = [this] {
|
||||
qCritical() << "Search task aborted by an unknown reason!";
|
||||
searchRequestFailed("Aborted");
|
||||
};
|
||||
|
||||
auto netJob = api.searchProjects({ ModPlatform::ResourceType::Modpack, m_nextSearchOffset, m_currentSearchTerm, sort, m_filter->loaders,
|
||||
m_filter->versions, ModPlatform::Side::NoSide, m_filter->categoryIds, m_filter->openSource },
|
||||
|
||||
Reference in New Issue
Block a user