diff options
author | flow <flowlnlnln@gmail.com> | 2022-07-31 21:56:37 -0300 |
---|---|---|
committer | flow <flowlnlnln@gmail.com> | 2022-08-02 16:15:39 -0300 |
commit | 31ba1de53b2308cdaabda2fa94a7c1a259a8a078 (patch) | |
tree | cc1450ef5ad59cf5925a58b950b528e6fc8c187a | |
parent | b15544c163ccbca08ea498b3b3a51c82d7fb3e12 (diff) | |
download | PrismLauncher-31ba1de53b2308cdaabda2fa94a7c1a259a8a078.tar.gz PrismLauncher-31ba1de53b2308cdaabda2fa94a7c1a259a8a078.tar.bz2 PrismLauncher-31ba1de53b2308cdaabda2fa94a7c1a259a8a078.zip |
fix: remove orphaned metadata to avoid problems with auto-updating insts
Just as my master has taught me. :gun:
Signed-off-by: flow <flowlnlnln@gmail.com>
-rw-r--r-- | launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp b/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp index a2e055ba..9b70e7a1 100644 --- a/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp +++ b/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp @@ -83,6 +83,17 @@ void ModFolderLoadTask::run() } } + // Remove orphan metadata to prevent issues + // See https://github.com/PolyMC/PolyMC/issues/996 + QMutableMapIterator<QString, Mod::Ptr> iter(m_result->mods); + while (iter.hasNext()) { + auto mod = iter.next().value(); + if (mod->status() == ModStatus::NotInstalled) { + mod->destroy(m_index_dir, false); + iter.remove(); + } + } + emit succeeded(); } |