Merge pull request #67236 from RandomShaper/fix_win_cons

Fix newlines not honored in Windows console
This commit is contained in:
Rémi Verschelde 2022-10-11 11:58:38 +02:00
commit 5e9db0fd92

View File

@ -1147,11 +1147,8 @@ OS_Windows::OS_Windows(HINSTANCE _hInstance) {
// //
// NOTE: The engine does not use ANSI escape codes to color error/warning messages; it uses Windows API calls instead. // NOTE: The engine does not use ANSI escape codes to color error/warning messages; it uses Windows API calls instead.
// Therefore, error/warning messages are still colored on Windows versions older than 10. // Therefore, error/warning messages are still colored on Windows versions older than 10.
HANDLE stdoutHandle; HANDLE stdoutHandle = GetStdHandle(STD_OUTPUT_HANDLE);
stdoutHandle = GetStdHandle(STD_OUTPUT_HANDLE); DWORD outMode = ENABLE_PROCESSED_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING;
DWORD outMode = 0;
outMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
if (!SetConsoleMode(stdoutHandle, outMode)) { if (!SetConsoleMode(stdoutHandle, outMode)) {
// Windows 8.1 or below, or Windows 10 prior to Anniversary Update. // Windows 8.1 or below, or Windows 10 prior to Anniversary Update.
print_verbose("Can't set the ENABLE_VIRTUAL_TERMINAL_PROCESSING Windows console mode. `print_rich()` will not work as expected."); print_verbose("Can't set the ENABLE_VIRTUAL_TERMINAL_PROCESSING Windows console mode. `print_rich()` will not work as expected.");