summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
Diffstat (limited to 'application')
-rw-r--r--application/MultiMC.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/application/MultiMC.cpp b/application/MultiMC.cpp
index e94038ea..27ed04b5 100644
--- a/application/MultiMC.cpp
+++ b/application/MultiMC.cpp
@@ -816,18 +816,22 @@ void MultiMC::showFatalErrorMessage(const QString& title, const QString& content
MultiMC::~MultiMC()
{
+ // kill the other globals.
+ Env::dispose();
+
+ // Shut down logger by setting the logger function to nothing
+ qInstallMessageHandler(nullptr);
+
#if defined Q_OS_WIN32
- qDebug() << "In destructor!";
+ // Detach from Windows console
if(consoleAttached)
{
- const char * endline = "\n";
- auto out = GetStdHandle (STD_OUTPUT_HANDLE);
- DWORD written;
- WriteConsole(out, endline, strlen(endline), &written, NULL);
+ fclose(stdout);
+ fclose(stdin);
+ fclose(stderr);
+ FreeConsole();
}
#endif
- shutdownLogger();
- Env::dispose();
}
void MultiMC::messageReceived(const QString& message)
@@ -851,11 +855,6 @@ void MultiMC::messageReceived(const QString& message)
}
}
-void MultiMC::shutdownLogger()
-{
- qInstallMessageHandler(nullptr);
-}
-
void MultiMC::analyticsSettingChanged(const Setting&, QVariant value)
{
if(!m_analytics)