aboutsummaryrefslogtreecommitdiff
path: root/launcher/minecraft/mod/Mod.cpp
diff options
context:
space:
mode:
authorflow <flowlnlnln@gmail.com>2022-06-10 19:27:25 -0300
committerflow <flowlnlnln@gmail.com>2022-07-17 11:33:41 -0300
commit43b9db6e45a2ea74384f7851722952b9a1547213 (patch)
tree6dce37c971038de6a5ccd28992b44fee86da020d /launcher/minecraft/mod/Mod.cpp
parent032ceefa1d4c147477fd432cea64f6cab88b8699 (diff)
downloadPrismLauncher-43b9db6e45a2ea74384f7851722952b9a1547213.tar.gz
PrismLauncher-43b9db6e45a2ea74384f7851722952b9a1547213.tar.bz2
PrismLauncher-43b9db6e45a2ea74384f7851722952b9a1547213.zip
change: allow deleting mods while preserving their metadata
Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/minecraft/mod/Mod.cpp')
-rw-r--r--launcher/minecraft/mod/Mod.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/launcher/minecraft/mod/Mod.cpp b/launcher/minecraft/mod/Mod.cpp
index 742709e3..37ec8eca 100644
--- a/launcher/minecraft/mod/Mod.cpp
+++ b/launcher/minecraft/mod/Mod.cpp
@@ -162,13 +162,14 @@ void Mod::setMetadata(Metadata::ModStruct* metadata)
}
}
-auto Mod::destroy(QDir& index_dir) -> bool
+auto Mod::destroy(QDir& index_dir, bool preserve_metadata) -> bool
{
auto n = name();
// FIXME: This can fail to remove the metadata if the
// "ModMetadataDisabled" setting is on, since there could
// be a name mismatch!
- Metadata::remove(index_dir, n);
+ if(!preserve_metadata)
+ Metadata::remove(index_dir, n);
m_type = MOD_UNKNOWN;
return FS::deletePath(m_file.filePath());