summaryrefslogtreecommitdiffstats
path: root/src/sdk/console_win.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdk/console_win.cpp')
-rw-r--r--src/sdk/console_win.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/sdk/console_win.cpp b/src/sdk/console_win.cpp
index f3226bc60..978159612 100644
--- a/src/sdk/console_win.cpp
+++ b/src/sdk/console_win.cpp
@@ -1,6 +1,6 @@
/**************************************************************************
**
-** Copyright (C) 2017 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Installer Framework.
@@ -74,7 +74,9 @@ static bool isRedirected(HANDLE stdHandle)
*/
Console::Console() :
m_oldCout(nullptr),
- m_oldCerr(nullptr)
+ m_oldCerr(nullptr),
+ parentConsole(false),
+ newConsoleCreated(false)
{
bool isCoutRedirected = isRedirected(GetStdHandle(STD_OUTPUT_HANDLE));
bool isCerrRedirected = isRedirected(GetStdHandle(STD_ERROR_HANDLE));
@@ -83,6 +85,7 @@ Console::Console() :
// try to use parent console. else launch & set up new console
parentConsole = AttachConsole(ATTACH_PARENT_PROCESS);
if (!parentConsole) {
+ newConsoleCreated = true;
AllocConsole();
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
if (handle != INVALID_HANDLE_VALUE) {
@@ -119,11 +122,11 @@ Console::Console() :
Console::~Console()
{
- if (!parentConsole) {
- system("PAUSE");
- } else {
+ if (parentConsole) {
// simulate enter key to switch to boot prompt
PostMessage(GetConsoleWindow(), WM_KEYDOWN, 0x0D, 0);
+ } else if (newConsoleCreated) {
+ system("PAUSE");
}
if (m_oldCerr)