diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-09-18 11:15:22 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-09-18 11:15:22 +0200 |
commit | 2c8ab6e7eb11a6d2935e7f9673679194f74b7f07 (patch) | |
tree | 1f4ce51026b42d13defe94c0d40f0e74404510c5 /platform | |
parent | 922ae7e7b5fb6c8733a7c03a3c797773f97d9162 (diff) | |
parent | 28c60a5ff90533bf13e89373336c36f7016c38cc (diff) | |
download | redot-engine-2c8ab6e7eb11a6d2935e7f9673679194f74b7f07.tar.gz |
Merge pull request #94839 from alvinhochun/win-set-console-mode
Combine existing modes when calling SetConsoleMode
Diffstat (limited to 'platform')
-rw-r--r-- | platform/windows/console_wrapper_windows.cpp | 4 | ||||
-rw-r--r-- | platform/windows/os_windows.cpp | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/platform/windows/console_wrapper_windows.cpp b/platform/windows/console_wrapper_windows.cpp index 1ba09b236b..03e77cb92c 100644 --- a/platform/windows/console_wrapper_windows.cpp +++ b/platform/windows/console_wrapper_windows.cpp @@ -65,7 +65,9 @@ int main(int argc, char *argv[]) { // Enable virtual terminal sequences processing. HANDLE stdout_handle = GetStdHandle(STD_OUTPUT_HANDLE); - DWORD out_mode = ENABLE_PROCESSED_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING; + DWORD out_mode = 0; + GetConsoleMode(stdout_handle, &out_mode); + out_mode |= ENABLE_PROCESSED_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING; SetConsoleMode(stdout_handle, out_mode); // Find main executable name and check if it exist. diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index e6e8c6aaef..adc72a79e9 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -2044,7 +2044,9 @@ 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. // Therefore, error/warning messages are still colored on Windows versions older than 10. HANDLE stdoutHandle = GetStdHandle(STD_OUTPUT_HANDLE); - DWORD outMode = ENABLE_PROCESSED_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING; + DWORD outMode = 0; + GetConsoleMode(stdoutHandle, &outMode); + outMode |= ENABLE_PROCESSED_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING; if (!SetConsoleMode(stdoutHandle, outMode)) { // 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."); |