aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
diff options
context:
space:
mode:
authorflow <flowlnlnln@gmail.com>2022-12-03 10:15:38 -0300
committerflow <flowlnlnln@gmail.com>2022-12-06 17:00:34 -0300
commitbb386a1162db751136483a59f2cffe8d9a3d1e73 (patch)
treecf6e0691822deb7a1189ec549393fd16de117c2e /launcher/modplatform/flame/FlameInstanceCreationTask.cpp
parent80054e4db26b85f81778f1ac53bd7c123f70fe3c (diff)
downloadPrismLauncher-bb386a1162db751136483a59f2cffe8d9a3d1e73.tar.gz
PrismLauncher-bb386a1162db751136483a59f2cffe8d9a3d1e73.tar.bz2
PrismLauncher-bb386a1162db751136483a59f2cffe8d9a3d1e73.zip
fix(ManagedPackPage): only update the current instance exactly
Also carry on the original ID to avoid updating the wrong instance. Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/modplatform/flame/FlameInstanceCreationTask.cpp')
-rw-r--r--launcher/modplatform/flame/FlameInstanceCreationTask.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
index ad50597e..1e76f252 100644
--- a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
+++ b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
@@ -81,13 +81,19 @@ bool FlameCreationTask::updateInstance()
auto instance_list = APPLICATION->instances();
// FIXME: How to handle situations when there's more than one install already for a given modpack?
- auto inst = instance_list->getInstanceByManagedName(originalName());
+ InstancePtr inst;
+ if (auto original_id = originalInstanceID(); !original_id.isEmpty()) {
+ inst = instance_list->getInstanceById(original_id);
+ Q_ASSERT(inst);
+ } else {
+ inst = instance_list->getInstanceByManagedName(originalName());
- if (!inst) {
- inst = instance_list->getInstanceById(originalName());
+ if (!inst) {
+ inst = instance_list->getInstanceById(originalName());
- if (!inst)
- return false;
+ if (!inst)
+ return false;
+ }
}
QString index_path(FS::PathCombine(m_stagingPath, "manifest.json"));
@@ -233,7 +239,7 @@ bool FlameCreationTask::updateInstance()
}
}
- setOverride(true);
+ setOverride(true, inst->id());
qDebug() << "Will override instance!";
m_instance = inst;