Revert "[Windows] Attach to parent console instead of creating new one."
This reverts commit 4f7a49db53
.
This commit is contained in:
parent
ba1109a3b3
commit
03ffd6451a
@ -2624,6 +2624,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
|
|||||||
case SETTINGS_TOGGLE_CONSOLE: {
|
case SETTINGS_TOGGLE_CONSOLE: {
|
||||||
bool was_visible = DisplayServer::get_singleton()->is_console_visible();
|
bool was_visible = DisplayServer::get_singleton()->is_console_visible();
|
||||||
DisplayServer::get_singleton()->console_set_visible(!was_visible);
|
DisplayServer::get_singleton()->console_set_visible(!was_visible);
|
||||||
|
EditorSettings::get_singleton()->set_setting("interface/editor/hide_console_window", was_visible);
|
||||||
} break;
|
} break;
|
||||||
case EDITOR_SCREENSHOT: {
|
case EDITOR_SCREENSHOT: {
|
||||||
screenshot_timer->start();
|
screenshot_timer->start();
|
||||||
|
@ -334,6 +334,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
|
|||||||
_initial_set("interface/editor/automatically_open_screenshots", true);
|
_initial_set("interface/editor/automatically_open_screenshots", true);
|
||||||
_initial_set("interface/editor/single_window_mode", false);
|
_initial_set("interface/editor/single_window_mode", false);
|
||||||
hints["interface/editor/single_window_mode"] = PropertyInfo(Variant::BOOL, "interface/editor/single_window_mode", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED);
|
hints["interface/editor/single_window_mode"] = PropertyInfo(Variant::BOOL, "interface/editor/single_window_mode", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED);
|
||||||
|
_initial_set("interface/editor/hide_console_window", false);
|
||||||
_initial_set("interface/editor/save_each_scene_on_quit", true); // Regression
|
_initial_set("interface/editor/save_each_scene_on_quit", true); // Regression
|
||||||
_initial_set("interface/editor/quit_confirmation", true);
|
_initial_set("interface/editor/quit_confirmation", true);
|
||||||
|
|
||||||
|
@ -2278,6 +2278,13 @@ bool Main::start() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (project_manager || editor) {
|
if (project_manager || editor) {
|
||||||
|
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_CONSOLE_WINDOW)) {
|
||||||
|
// Hide console window if requested (Windows-only).
|
||||||
|
bool hide_console = EditorSettings::get_singleton()->get_setting(
|
||||||
|
"interface/editor/hide_console_window");
|
||||||
|
DisplayServer::get_singleton()->console_set_visible(!hide_console);
|
||||||
|
}
|
||||||
|
|
||||||
// Load SSL Certificates from Editor Settings (or builtin)
|
// Load SSL Certificates from Editor Settings (or builtin)
|
||||||
Crypto::load_default_certificates(EditorSettings::get_singleton()->get_setting(
|
Crypto::load_default_certificates(EditorSettings::get_singleton()->get_setting(
|
||||||
"network/ssl/editor_ssl_certificates")
|
"network/ssl/editor_ssl_certificates")
|
||||||
|
@ -183,6 +183,7 @@ def configure_msvc(env, manual_msvc_config):
|
|||||||
env.Append(CCFLAGS=["/O2"])
|
env.Append(CCFLAGS=["/O2"])
|
||||||
else: # optimize for size
|
else: # optimize for size
|
||||||
env.Append(CCFLAGS=["/O1"])
|
env.Append(CCFLAGS=["/O1"])
|
||||||
|
env.Append(LINKFLAGS=["/SUBSYSTEM:WINDOWS"])
|
||||||
env.Append(LINKFLAGS=["/ENTRY:mainCRTStartup"])
|
env.Append(LINKFLAGS=["/ENTRY:mainCRTStartup"])
|
||||||
env.Append(LINKFLAGS=["/OPT:REF"])
|
env.Append(LINKFLAGS=["/OPT:REF"])
|
||||||
|
|
||||||
@ -192,15 +193,15 @@ def configure_msvc(env, manual_msvc_config):
|
|||||||
else: # optimize for size
|
else: # optimize for size
|
||||||
env.Append(CCFLAGS=["/O1"])
|
env.Append(CCFLAGS=["/O1"])
|
||||||
env.AppendUnique(CPPDEFINES=["DEBUG_ENABLED"])
|
env.AppendUnique(CPPDEFINES=["DEBUG_ENABLED"])
|
||||||
|
env.Append(LINKFLAGS=["/SUBSYSTEM:CONSOLE"])
|
||||||
env.Append(LINKFLAGS=["/OPT:REF"])
|
env.Append(LINKFLAGS=["/OPT:REF"])
|
||||||
|
|
||||||
elif env["target"] == "debug":
|
elif env["target"] == "debug":
|
||||||
env.AppendUnique(CCFLAGS=["/Z7", "/Od", "/EHsc"])
|
env.AppendUnique(CCFLAGS=["/Z7", "/Od", "/EHsc"])
|
||||||
env.AppendUnique(CPPDEFINES=["DEBUG_ENABLED"])
|
env.AppendUnique(CPPDEFINES=["DEBUG_ENABLED"])
|
||||||
|
env.Append(LINKFLAGS=["/SUBSYSTEM:CONSOLE"])
|
||||||
env.Append(LINKFLAGS=["/DEBUG"])
|
env.Append(LINKFLAGS=["/DEBUG"])
|
||||||
|
|
||||||
env.Append(LINKFLAGS=["/SUBSYSTEM:WINDOWS"])
|
|
||||||
|
|
||||||
if env["debug_symbols"] == "full" or env["debug_symbols"] == "yes":
|
if env["debug_symbols"] == "full" or env["debug_symbols"] == "yes":
|
||||||
env.AppendUnique(CCFLAGS=["/Z7"])
|
env.AppendUnique(CCFLAGS=["/Z7"])
|
||||||
env.AppendUnique(LINKFLAGS=["/DEBUG"])
|
env.AppendUnique(LINKFLAGS=["/DEBUG"])
|
||||||
@ -313,6 +314,8 @@ def configure_mingw(env):
|
|||||||
else: # optimize for size
|
else: # optimize for size
|
||||||
env.Prepend(CCFLAGS=["-Os"])
|
env.Prepend(CCFLAGS=["-Os"])
|
||||||
|
|
||||||
|
env.Append(LINKFLAGS=["-Wl,--subsystem,windows"])
|
||||||
|
|
||||||
if env["debug_symbols"] == "yes":
|
if env["debug_symbols"] == "yes":
|
||||||
env.Prepend(CCFLAGS=["-g1"])
|
env.Prepend(CCFLAGS=["-g1"])
|
||||||
if env["debug_symbols"] == "full":
|
if env["debug_symbols"] == "full":
|
||||||
@ -334,8 +337,6 @@ def configure_mingw(env):
|
|||||||
env.Append(CCFLAGS=["-g3"])
|
env.Append(CCFLAGS=["-g3"])
|
||||||
env.Append(CPPDEFINES=["DEBUG_ENABLED"])
|
env.Append(CPPDEFINES=["DEBUG_ENABLED"])
|
||||||
|
|
||||||
env.Append(LINKFLAGS=["-Wl,--subsystem,windows"])
|
|
||||||
|
|
||||||
## Compiler configuration
|
## Compiler configuration
|
||||||
|
|
||||||
if os.name != "nt":
|
if os.name != "nt":
|
||||||
|
@ -1135,18 +1135,11 @@ void DisplayServerWindows::window_set_ime_position(const Point2i &p_pos, WindowI
|
|||||||
void DisplayServerWindows::console_set_visible(bool p_enabled) {
|
void DisplayServerWindows::console_set_visible(bool p_enabled) {
|
||||||
_THREAD_SAFE_METHOD_
|
_THREAD_SAFE_METHOD_
|
||||||
|
|
||||||
if (console_visible == p_enabled) {
|
if (console_visible == p_enabled)
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
if (p_enabled && GetConsoleWindow() == nullptr) { // Open new console if not attached.
|
|
||||||
own_console = true;
|
|
||||||
AllocConsole();
|
|
||||||
}
|
|
||||||
if (own_console) { // Note: Do not hide parent console.
|
|
||||||
ShowWindow(GetConsoleWindow(), p_enabled ? SW_SHOW : SW_HIDE);
|
ShowWindow(GetConsoleWindow(), p_enabled ? SW_SHOW : SW_HIDE);
|
||||||
console_visible = p_enabled;
|
console_visible = p_enabled;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
bool DisplayServerWindows::is_console_visible() const {
|
bool DisplayServerWindows::is_console_visible() const {
|
||||||
return console_visible;
|
return console_visible;
|
||||||
@ -3026,18 +3019,7 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
|
|||||||
shift_mem = false;
|
shift_mem = false;
|
||||||
control_mem = false;
|
control_mem = false;
|
||||||
meta_mem = false;
|
meta_mem = false;
|
||||||
|
console_visible = IsWindowVisible(GetConsoleWindow());
|
||||||
if (AttachConsole(ATTACH_PARENT_PROCESS)) {
|
|
||||||
FILE *_file = nullptr;
|
|
||||||
freopen_s(&_file, "CONOUT$", "w", stdout);
|
|
||||||
freopen_s(&_file, "CONOUT$", "w", stderr);
|
|
||||||
freopen_s(&_file, "CONIN$", "r", stdin);
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
console_visible = true;
|
|
||||||
} else {
|
|
||||||
console_visible = false;
|
|
||||||
}
|
|
||||||
hInstance = ((OS_Windows *)OS::get_singleton())->get_hinstance();
|
hInstance = ((OS_Windows *)OS::get_singleton())->get_hinstance();
|
||||||
|
|
||||||
pressrc = 0;
|
pressrc = 0;
|
||||||
|
@ -405,7 +405,6 @@ private:
|
|||||||
bool drop_events = false;
|
bool drop_events = false;
|
||||||
bool in_dispatch_input_event = false;
|
bool in_dispatch_input_event = false;
|
||||||
bool console_visible = false;
|
bool console_visible = false;
|
||||||
bool own_console = false;
|
|
||||||
|
|
||||||
WNDCLASSEXW wc;
|
WNDCLASSEXW wc;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user