aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorflow <thiagodonato300@gmail.com>2022-04-21 15:47:46 -0300
committerflow <flowlnlnln@gmail.com>2022-05-23 14:43:10 -0300
commit67e0214fa5c1ff36d3718c3fb68107bf0dfe7e5d (patch)
treeba1a87a357855dc2629d1d51a08dda125cc67923
parente17b6804a7424dd5161662c4ef92972f3311675c (diff)
downloadPrismLauncher-67e0214fa5c1ff36d3718c3fb68107bf0dfe7e5d.tar.gz
PrismLauncher-67e0214fa5c1ff36d3718c3fb68107bf0dfe7e5d.tar.bz2
PrismLauncher-67e0214fa5c1ff36d3718c3fb68107bf0dfe7e5d.zip
fix: don't try to delete mods multiple times
Shows a more helpful message if there's a parsing error when reading the index file. Also fixes a clazy warning with using the `.data()` method in a temporary QByteArray object.
-rw-r--r--launcher/minecraft/mod/ModFolderModel.cpp3
-rw-r--r--launcher/modplatform/packwiz/Packwiz.cpp6
2 files changed, 7 insertions, 2 deletions
diff --git a/launcher/minecraft/mod/ModFolderModel.cpp b/launcher/minecraft/mod/ModFolderModel.cpp
index e034e35e..b2d8f03e 100644
--- a/launcher/minecraft/mod/ModFolderModel.cpp
+++ b/launcher/minecraft/mod/ModFolderModel.cpp
@@ -339,6 +339,9 @@ bool ModFolderModel::deleteMods(const QModelIndexList& indexes)
for (auto i: indexes)
{
+ if(i.column() != 0) {
+ continue;
+ }
Mod &m = mods[i.row()];
auto index_dir = indexDir();
m.destroy(index_dir);
diff --git a/launcher/modplatform/packwiz/Packwiz.cpp b/launcher/modplatform/packwiz/Packwiz.cpp
index 70efc6bd..4fe4398a 100644
--- a/launcher/modplatform/packwiz/Packwiz.cpp
+++ b/launcher/modplatform/packwiz/Packwiz.cpp
@@ -162,12 +162,14 @@ auto V1::getIndexForMod(QDir& index_dir, QString& index_file_name) -> Mod
// NOLINTNEXTLINE(modernize-avoid-c-arrays)
char errbuf[200];
- table = toml_parse(index_file.readAll().data(), errbuf, sizeof(errbuf));
+ auto file_bytearray = index_file.readAll();
+ table = toml_parse(file_bytearray.data(), errbuf, sizeof(errbuf));
index_file.close();
if (!table) {
- qCritical() << QString("Could not open file %1!").arg(indexFileName(mod.name));
+ qWarning() << QString("Could not open file %1!").arg(indexFileName(index_file_name));
+ qWarning() << "Reason: " << QString(errbuf);
return {};
}