Implement abort (possible broken?) and therefore make it work without crashing!

The shared pointer was going out of scope 🤦.

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
TheKodeToad 2023-03-04 10:37:52 +00:00
parent a2716f5cf6
commit f583e617ec
2 changed files with 12 additions and 4 deletions

View File

@ -47,10 +47,16 @@ void ModrinthPackExportTask::executeTask()
collectFiles();
QByteArray* response = new QByteArray;
Task::Ptr versionsTask = api.currentVersions(fileHashes.values(), "sha512", response);
connect(versionsTask.get(), &NetJob::succeeded, [this, response]() { parseApiResponse(response); });
connect(versionsTask.get(), &NetJob::failed, this, &ModrinthPackExportTask::emitFailed);
versionsTask->start();
task = api.currentVersions(fileHashes.values(), "sha512", response);
connect(task.get(), &NetJob::succeeded, [this, response]() { parseApiResponse(response); });
connect(task.get(), &NetJob::failed, this, &ModrinthPackExportTask::emitFailed);
task->start();
}
bool ModrinthPackExportTask::abort() {
if (!task.isNull())
return task->abort();
return false;
}
void ModrinthPackExportTask::collectFiles()

View File

@ -34,6 +34,7 @@ class ModrinthPackExportTask : public Task {
protected:
void executeTask() override;
bool abort() override;
private:
static const QStringList PREFIXES;
@ -47,6 +48,7 @@ class ModrinthPackExportTask : public Task {
ModrinthAPI api;
QFileInfoList files;
QMap<QString, QString> fileHashes;
Task::Ptr task;
struct ResolvedFile {
QString sha1, sha512, url;