aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform
diff options
context:
space:
mode:
authorJamie Mansfield <jmansfield@cadixdev.org>2022-10-20 18:30:32 +0100
committerJamie Mansfield <jmansfield@cadixdev.org>2022-10-22 12:35:34 +0100
commita6b13487f0e27c8bea1917720a0c5c1eb1eb206c (patch)
treef99d9397e31762d5d052db5c75eb45aa697aaf4f /launcher/modplatform
parent54c26b05faa73dd6c8eb21f6fa898d438a3e867a (diff)
downloadPrismLauncher-a6b13487f0e27c8bea1917720a0c5c1eb1eb206c.tar.gz
PrismLauncher-a6b13487f0e27c8bea1917720a0c5c1eb1eb206c.tar.bz2
PrismLauncher-a6b13487f0e27c8bea1917720a0c5c1eb1eb206c.zip
ATLauncher: Abort install if optional mods dialog is closed
This matches the behaviour of ATLauncher.
Diffstat (limited to 'launcher/modplatform')
-rw-r--r--launcher/modplatform/atlauncher/ATLPackInstallTask.cpp7
-rw-r--r--launcher/modplatform/atlauncher/ATLPackInstallTask.h2
2 files changed, 7 insertions, 2 deletions
diff --git a/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp b/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
index a553eafd..68d75943 100644
--- a/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
+++ b/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
@@ -736,7 +736,12 @@ void PackInstallTask::downloadMods()
QVector<QString> selectedMods;
if (!optionalMods.isEmpty()) {
setStatus(tr("Selecting optional mods..."));
- selectedMods = m_support->chooseOptionalMods(m_version, optionalMods);
+ auto mods = m_support->chooseOptionalMods(m_version, optionalMods);
+ if (!mods.has_value()) {
+ emitAborted();
+ return;
+ }
+ selectedMods = mods.value();
}
setStatus(tr("Downloading mods..."));
diff --git a/launcher/modplatform/atlauncher/ATLPackInstallTask.h b/launcher/modplatform/atlauncher/ATLPackInstallTask.h
index ed4436f0..78cd87fb 100644
--- a/launcher/modplatform/atlauncher/ATLPackInstallTask.h
+++ b/launcher/modplatform/atlauncher/ATLPackInstallTask.h
@@ -62,7 +62,7 @@ public:
/**
* Requests a user interaction to select which optional mods should be installed.
*/
- virtual QVector<QString> chooseOptionalMods(PackVersion version, QVector<ATLauncher::VersionMod> mods) = 0;
+ virtual std::optional<QVector<QString>> chooseOptionalMods(PackVersion version, QVector<ATLauncher::VersionMod> mods) = 0;
/**
* Requests a user interaction to select a component version from a given version list