summaryrefslogtreecommitdiff
path: root/src/installationmanager.cpp
diff options
context:
space:
mode:
authorAl <26797547+Al12rs@users.noreply.github.com>2026-05-04 04:47:20 +0200
committerGitHub <noreply@github.com>2026-05-03 21:47:20 -0500
commitca7a149874e99a8f401cb30c430f58a48be4c642 (patch)
tree9764a43289eab32bfb838aa91234ddf87fae4eb0 /src/installationmanager.cpp
parentef7499aade74a148416b5fde7e8c03a75ea381c3 (diff)
Improve mod update check accuracy (#2385)
* Index API response into lookup maps * extract new findLatestActiveSuccessor method from update check function * extract method to check if a file is active * use new isActiveFileStatus in modInfoRegular * fix bug when merging during mod install * remember ordering of installed nexus file ids * refactor update check logic to prioritize Nexus file IDs over filenames * refactor nxmUpdatesAvailable to simplify update checking logic * refactor update check logic to find Nexus file IDs by filename and streamline successor retrieval * refactor update checking to streamline version resolution and improve successor retrieval
Diffstat (limited to 'src/installationmanager.cpp')
-rw-r--r--src/installationmanager.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp
index 37c86c7e..87c4681f 100644
--- a/src/installationmanager.cpp
+++ b/src/installationmanager.cpp
@@ -491,13 +491,14 @@ InstallationResult InstallationManager::doInstall(GuessedValue<QString>& modName
return {IPluginInstaller::RESULT_FAILED};
}
- bool merge = false;
// determine target directory
InstallationResult result = testOverwrite(modName);
if (!result) {
return result;
}
+ const bool merge = result.merged();
+
result.m_name = modName;
QString targetDirectory = QDir(m_ModsDirectory + "/" + modName).canonicalPath();