NOISSUE attept to detach from console on Windows

This only applies to MultiMC started from a console.
This commit is contained in:
Petr Mrázek 2017-07-05 19:45:10 +02:00
parent 71b129538b
commit 26f7f017d4

View File

@ -816,18 +816,22 @@ void MultiMC::showFatalErrorMessage(const QString& title, const QString& content
MultiMC::~MultiMC() 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 #if defined Q_OS_WIN32
qDebug() << "In destructor!"; // Detach from Windows console
if(consoleAttached) if(consoleAttached)
{ {
const char * endline = "\n"; fclose(stdout);
auto out = GetStdHandle (STD_OUTPUT_HANDLE); fclose(stdin);
DWORD written; fclose(stderr);
WriteConsole(out, endline, strlen(endline), &written, NULL); FreeConsole();
} }
#endif #endif
shutdownLogger();
Env::dispose();
} }
void MultiMC::messageReceived(const QString& message) 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) void MultiMC::analyticsSettingChanged(const Setting&, QVariant value)
{ {
if(!m_analytics) if(!m_analytics)