diff --git a/src/base/settingsstorage.cpp b/src/base/settingsstorage.cpp index da3c9d374..09ee2fc99 100644 --- a/src/base/settingsstorage.cpp +++ b/src/base/settingsstorage.cpp @@ -172,8 +172,12 @@ bool SettingsStorage::writeNativeSettings() const nativeSettings->setValue(i.key(), i.value()); nativeSettings->sync(); // Important to get error status + const QSettings::Status status = nativeSettings->status(); + const Path newPath {nativeSettings->fileName()}; + + nativeSettings.reset(); // close QSettings - switch (nativeSettings->status()) + switch (status) { case QSettings::NoError: break; @@ -188,8 +192,7 @@ bool SettingsStorage::writeNativeSettings() const break; } - const Path newPath {nativeSettings->fileName()}; - if (nativeSettings->status() != QSettings::NoError) + if (status != QSettings::NoError) { Utils::Fs::removeFile(newPath); return false;