aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp')
-rw-r--r--launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
index c043a2e3..1c0e8979 100644
--- a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
+++ b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
@@ -33,13 +33,19 @@ bool ModrinthCreationTask::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, "modrinth.index.json");
@@ -138,7 +144,7 @@ bool ModrinthCreationTask::updateInstance()
}
- setOverride(true);
+ setOverride(true, inst->id());
qDebug() << "Will override instance!";
m_instance = inst;