NOISSUE fix horrible globals crash

FIXME: remove all globals.
This commit is contained in:
Petr Mrázek 2016-11-07 02:28:18 +01:00
parent 07589b5114
commit dae3b06885
3 changed files with 15 additions and 2 deletions

View File

@ -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()

View File

@ -27,6 +27,7 @@ private:
class Private;
Env();
~Env();
static void dispose();
public:
static Env& getInstance();

View File

@ -319,6 +319,7 @@ MultiMC::~MultiMC()
}
#endif
shutdownLogger();
Env::dispose();
}
void MultiMC::messageReceived(const QString& message)