diff options
author | flow <flowlnlnln@gmail.com> | 2022-12-03 10:15:38 -0300 |
---|---|---|
committer | flow <flowlnlnln@gmail.com> | 2022-12-06 17:00:34 -0300 |
commit | bb386a1162db751136483a59f2cffe8d9a3d1e73 (patch) | |
tree | cf6e0691822deb7a1189ec549393fd16de117c2e /launcher/modplatform/flame/FlameInstanceCreationTask.cpp | |
parent | 80054e4db26b85f81778f1ac53bd7c123f70fe3c (diff) | |
download | PrismLauncher-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.cpp | 18 |
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; |