aboutsummaryrefslogtreecommitdiff
path: root/launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp
diff options
context:
space:
mode:
authorflow <flowlnlnln@gmail.com>2022-06-19 14:26:15 -0300
committerflow <flowlnlnln@gmail.com>2022-07-17 11:33:43 -0300
commitfd6755c93f3f3f7551f9b7c11d1bbbb48c22e210 (patch)
tree4a5e101deaede01b79f4fa04f5b2c4421b481089 /launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp
parenta53ee2e35cafd36964663d632877badcf53d8786 (diff)
downloadPrismLauncher-fd6755c93f3f3f7551f9b7c11d1bbbb48c22e210.tar.gz
PrismLauncher-fd6755c93f3f3f7551f9b7c11d1bbbb48c22e210.tar.bz2
PrismLauncher-fd6755c93f3f3f7551f9b7c11d1bbbb48c22e210.zip
change: mod metadata improvements
- Use slug instead of name - Keep temporary status before having local details Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp')
-rw-r--r--launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp b/launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp
index f0ef795d..4b878918 100644
--- a/launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp
+++ b/launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp
@@ -47,12 +47,18 @@ void LocalModUpdateTask::executeTask()
auto old_metadata = Metadata::get(m_index_dir, m_mod.addonId);
if (old_metadata.isValid()) {
emit hasOldMod(old_metadata.name, old_metadata.filename);
+ if (m_mod.slug.isEmpty())
+ m_mod.slug = old_metadata.slug;
}
auto pw_mod = Metadata::create(m_index_dir, m_mod, m_mod_version);
- Metadata::update(m_index_dir, pw_mod);
-
- emitSucceeded();
+ if (pw_mod.isValid()) {
+ Metadata::update(m_index_dir, pw_mod);
+ emitSucceeded();
+ } else {
+ qCritical() << "Tried to update an invalid mod!";
+ emitFailed(tr("Invalid metadata"));
+ }
}
auto LocalModUpdateTask::abort() -> bool