diff --git a/api/logic/Env.cpp b/api/logic/Env.cpp index b769c9c4..a6341ebd 100644 --- a/api/logic/Env.cpp +++ b/api/logic/Env.cpp @@ -22,6 +22,8 @@ public: QString m_wonkoRootUrl; }; +static Env * instance; + /* * The *NEW* global rat nest of an object. Handle with care. */ @@ -38,8 +40,17 @@ Env::~Env() Env& Env::Env::getInstance() { - static Env instance; - return instance; + if(!instance) + { + instance = new Env(); + } + return *instance; +} + +void Env::dispose() +{ + delete instance; + instance = nullptr; } shared_qobject_ptr< HttpMetaCache > Env::metacache() diff --git a/api/logic/Env.h b/api/logic/Env.h index 989b4f3c..c72447ce 100644 --- a/api/logic/Env.h +++ b/api/logic/Env.h @@ -27,6 +27,7 @@ private: class Private; Env(); ~Env(); + static void dispose(); public: static Env& getInstance(); diff --git a/application/MultiMC.cpp b/application/MultiMC.cpp index 0ca12adb..334c51fc 100644 --- a/application/MultiMC.cpp +++ b/application/MultiMC.cpp @@ -319,6 +319,7 @@ MultiMC::~MultiMC() } #endif shutdownLogger(); + Env::dispose(); } void MultiMC::messageReceived(const QString& message)