diff --git a/src/lib/common/QSettingsProxy.cpp b/src/lib/common/QSettingsProxy.cpp index befe8b8ec..a5b18e127 100644 --- a/src/lib/common/QSettingsProxy.cpp +++ b/src/lib/common/QSettingsProxy.cpp @@ -25,7 +25,13 @@ QString getSystemSettingsBaseDir() void QSettingsProxy::load(const QString &fileName) { - m_pSettings = std::make_unique(fileName, QSettings::IniFormat); + if (m_pSettings) + m_pSettings.get()->deleteLater(); + + if (fileName.isEmpty()) + m_pSettings = std::make_unique(QSettings::NativeFormat, QSettings::UserScope, kAppName, kAppName); + else + m_pSettings = std::make_unique(fileName, QSettings::IniFormat); } int QSettingsProxy::beginReadArray(const QString &prefix)