You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-13 13:31:48 +00:00
[Windows] Improve console handling and execute/create_process.
Always build with the GUI subsystem. Redirect stdout and stderr output to the parent process console. Use CreateProcessW for blocking `execute` calls with piped stdout and stderr (prevent console windows for popping up when used with the GUI subsystem build, and have more consistent behavior with `create_process`). Add `open_console` argument to the `execute` and `create_process` to open a new console window. Remove `interface/editor/hide_console_window` editor setting. Remove `Toggle System Console` menu option. Remove `set_console_visible` and `is_console_visible` functions.
This commit is contained in:
@@ -68,7 +68,6 @@ bool DisplayServerWindows::has_feature(Feature p_feature) const {
|
||||
case FEATURE_CLIPBOARD:
|
||||
case FEATURE_CURSOR_SHAPE:
|
||||
case FEATURE_CUSTOM_CURSOR_SHAPE:
|
||||
case FEATURE_CONSOLE_WINDOW:
|
||||
case FEATURE_IME:
|
||||
case FEATURE_WINDOW_TRANSPARENCY:
|
||||
case FEATURE_HIDPI:
|
||||
@@ -1198,23 +1197,6 @@ void DisplayServerWindows::window_set_ime_position(const Point2i &p_pos, WindowI
|
||||
ImmReleaseContext(wd.hWnd, himc);
|
||||
}
|
||||
|
||||
void DisplayServerWindows::console_set_visible(bool p_enabled) {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
if (console_visible == p_enabled) {
|
||||
return;
|
||||
}
|
||||
if (!((OS_Windows *)OS::get_singleton())->_is_win11_terminal()) {
|
||||
// GetConsoleWindow is not supported by the Windows Terminal.
|
||||
ShowWindow(GetConsoleWindow(), p_enabled ? SW_SHOW : SW_HIDE);
|
||||
console_visible = p_enabled;
|
||||
}
|
||||
}
|
||||
|
||||
bool DisplayServerWindows::is_console_visible() const {
|
||||
return console_visible;
|
||||
}
|
||||
|
||||
void DisplayServerWindows::cursor_set_shape(CursorShape p_shape) {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
@@ -3246,7 +3228,6 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
|
||||
shift_mem = false;
|
||||
control_mem = false;
|
||||
meta_mem = false;
|
||||
console_visible = IsWindowVisible(GetConsoleWindow());
|
||||
hInstance = ((OS_Windows *)OS::get_singleton())->get_hinstance();
|
||||
|
||||
pressrc = 0;
|
||||
|
||||
Reference in New Issue
Block a user