diff options
author | TheKodeToad <TheKodeToad@proton.me> | 2023-03-04 10:37:52 +0000 |
---|---|---|
committer | TheKodeToad <TheKodeToad@proton.me> | 2023-03-04 10:37:56 +0000 |
commit | f583e617ec86a7538523a99ae008143a787e593b (patch) | |
tree | d3e66a7dab7cabfe5beb5d70e67c208d660fafd7 /launcher/modplatform/modrinth | |
parent | a2716f5cf6d72168ab5aa4415c046505e42404f1 (diff) | |
download | PrismLauncher-f583e617ec86a7538523a99ae008143a787e593b.tar.gz PrismLauncher-f583e617ec86a7538523a99ae008143a787e593b.tar.bz2 PrismLauncher-f583e617ec86a7538523a99ae008143a787e593b.zip |
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>
Diffstat (limited to 'launcher/modplatform/modrinth')
-rw-r--r-- | launcher/modplatform/modrinth/ModrinthPackExportTask.cpp | 14 | ||||
-rw-r--r-- | launcher/modplatform/modrinth/ModrinthPackExportTask.h | 2 |
2 files changed, 12 insertions, 4 deletions
diff --git a/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp b/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp index d7a43c7a..c151edf5 100644 --- a/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp +++ b/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp @@ -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() diff --git a/launcher/modplatform/modrinth/ModrinthPackExportTask.h b/launcher/modplatform/modrinth/ModrinthPackExportTask.h index 4ac00522..ec87c1cd 100644 --- a/launcher/modplatform/modrinth/ModrinthPackExportTask.h +++ b/launcher/modplatform/modrinth/ModrinthPackExportTask.h @@ -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; |