diff options
author | flow <flowlnlnln@gmail.com> | 2022-06-19 14:26:15 -0300 |
---|---|---|
committer | flow <flowlnlnln@gmail.com> | 2022-07-17 11:33:43 -0300 |
commit | fd6755c93f3f3f7551f9b7c11d1bbbb48c22e210 (patch) | |
tree | 4a5e101deaede01b79f4fa04f5b2c4421b481089 /launcher/minecraft/mod/tasks/LocalModUpdateTask.cpp | |
parent | a53ee2e35cafd36964663d632877badcf53d8786 (diff) | |
download | PrismLauncher-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.cpp | 12 |
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 |