From d24519501fdba4fb5418da3f99e2b36ccef07826 Mon Sep 17 00:00:00 2001 From: LostDragonist Date: Fri, 11 Jan 2019 17:51:09 -0600 Subject: Delete the settings array before writing a new one --- src/editexecutablesdialog.cpp | 1 + src/modinfodialog.cpp | 1 + src/modinforegular.cpp | 1 + src/organizercore.cpp | 1 + src/settings.cpp | 1 + 5 files changed, 5 insertions(+) (limited to 'src') diff --git a/src/editexecutablesdialog.cpp b/src/editexecutablesdialog.cpp index bea497ef..78e1accb 100644 --- a/src/editexecutablesdialog.cpp +++ b/src/editexecutablesdialog.cpp @@ -124,6 +124,7 @@ void EditExecutablesDialog::saveExecutable() m_Profile->removeSetting("custom_overwrites", ui->titleEdit->text()); } + m_Profile->removeForcedLibraries(ui->titleEdit->text()); m_Profile->storeForcedLibraries(ui->titleEdit->text(), m_ForcedLibraries); m_Profile->setForcedLibrariesEnabled(ui->titleEdit->text(), ui->forceLoadCheckBox->isChecked()); } diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp index ed77f596..40fae0e4 100644 --- a/src/modinfodialog.cpp +++ b/src/modinfodialog.cpp @@ -562,6 +562,7 @@ void ModInfoDialog::openIniFile(const QString &fileName) void ModInfoDialog::saveIniTweaks() { + m_Settings->remove("INI Tweaks"); m_Settings->beginWriteArray("INI Tweaks"); int countEnabled = 0; diff --git a/src/modinforegular.cpp b/src/modinforegular.cpp index 45c3985b..185f0495 100644 --- a/src/modinforegular.cpp +++ b/src/modinforegular.cpp @@ -162,6 +162,7 @@ void ModInfoRegular::saveMeta() metaFile.setValue("endorsed", m_EndorsedState); } + metaFile.remove("installedFiles"); metaFile.beginWriteArray("installedFiles"); int idx = 0; for (auto iter = m_InstalledFileIDs.begin(); iter != m_InstalledFileIDs.end(); ++iter) { diff --git a/src/organizercore.cpp b/src/organizercore.cpp index 4e399ac7..e72b9a50 100644 --- a/src/organizercore.cpp +++ b/src/organizercore.cpp @@ -907,6 +907,7 @@ MOBase::IModInterface *OrganizerCore::createMod(GuessedValue &name) settingsFile.setValue("category", 0); settingsFile.setValue("installationFile", ""); + settingsFile.remove("installedFiles"); settingsFile.beginWriteArray("installedFiles", 0); settingsFile.endArray(); } diff --git a/src/settings.cpp b/src/settings.cpp index 9267cccf..c4228f65 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -592,6 +592,7 @@ void Settings::addBlacklistPlugin(const QString &fileName) void Settings::writePluginBlacklist() { + m_Settings.remove("pluginBlacklist"); m_Settings.beginWriteArray("pluginBlacklist"); int idx = 0; for (const QString &plugin : m_PluginBlacklist) { -- cgit v1.3.1