summaryrefslogtreecommitdiff
path: root/src/settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index e7a853a2..77db6918 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -429,12 +429,21 @@ void Settings::setSteamLogin(QString username, QString password)
LoadMechanism::EMechanism Settings::getLoadMechanism() const
{
- switch (m_Settings.value("Settings/load_mechanism").toInt()) {
- case LoadMechanism::LOAD_MODORGANIZER: return LoadMechanism::LOAD_MODORGANIZER;
- case LoadMechanism::LOAD_SCRIPTEXTENDER: return LoadMechanism::LOAD_SCRIPTEXTENDER;
- case LoadMechanism::LOAD_PROXYDLL: return LoadMechanism::LOAD_PROXYDLL;
+ const auto i = m_Settings.value("Settings/load_mechanism").toInt();
+
+ switch (i)
+ {
+ case LoadMechanism::LOAD_MODORGANIZER:
+ return LoadMechanism::LOAD_MODORGANIZER;
+
+ default:
+ qCritical().nospace().noquote()
+ << "invalid load mechanism " << i << ", reverting to modorganizer";
+
+ m_Settings.setValue("Settings/load_mechanism", LoadMechanism::LOAD_MODORGANIZER);
+
+ return LoadMechanism::LOAD_MODORGANIZER;
}
- throw std::runtime_error("invalid load mechanism");
}