summaryrefslogtreecommitdiff
path: root/src/settings.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-07-23 07:32:06 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2020-11-03 11:39:04 -0500
commit60b59ddf097fffa846a4d28e0d9256630da5149c (patch)
tree625f9efc16325f691f5e8a9931dec14a2b19d12e /src/settings.cpp
parent5513b273c679b9edda951f418ef013a762ca587a (diff)
started create instance dialog
allow for multiple instances of Settings fill in information in instance manager
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index d37f0d99..43e7a4fa 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -68,17 +68,24 @@ Settings::Settings(const QString& path) :
m_Network(m_Settings), m_Nexus(*this, m_Settings), m_Steam(*this, m_Settings),
m_Interface(m_Settings), m_Diagnostics(m_Settings)
{
- if (s_Instance != nullptr) {
- throw std::runtime_error("second instance of \"Settings\" created");
- } else {
- s_Instance = this;
- }
}
Settings::~Settings()
{
MOBase::QuestionBoxMemory::setCallbacks({}, {}, {});
- s_Instance = nullptr;
+
+ if (s_Instance == this) {
+ s_Instance = nullptr;
+ }
+}
+
+void Settings::setGlobalInstance()
+{
+ if (s_Instance != nullptr) {
+ throw std::runtime_error("second instance of \"Settings\" created");
+ } else {
+ s_Instance = this;
+ }
}
Settings &Settings::instance()