diff options
author | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2023-11-27 12:44:30 +0200 |
---|---|---|
committer | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2023-11-27 12:44:30 +0200 |
commit | 27ca31f359951224a94d8e5b439982b2bc794731 (patch) | |
tree | 13eacf03d7cca0d514379958057695dfb0313310 /editor/editor_node.cpp | |
parent | 5df98679672c12d96b4ac4d96ee17f1559207401 (diff) | |
download | redot-engine-27ca31f359951224a94d8e5b439982b2bc794731.tar.gz |
[Editor] Save and restore previous window mode when toggling full-screen.
Diffstat (limited to 'editor/editor_node.cpp')
-rw-r--r-- | editor/editor_node.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 32da37ad27..b2a65063a7 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -2943,8 +2943,13 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { feature_profile_manager->popup_centered_clamped(Size2(900, 800) * EDSCALE, 0.8); } break; case SETTINGS_TOGGLE_FULLSCREEN: { - DisplayServer::get_singleton()->window_set_mode(DisplayServer::get_singleton()->window_get_mode() == DisplayServer::WINDOW_MODE_FULLSCREEN ? DisplayServer::WINDOW_MODE_WINDOWED : DisplayServer::WINDOW_MODE_FULLSCREEN); - + DisplayServer::WindowMode mode = DisplayServer::get_singleton()->window_get_mode(); + if (mode == DisplayServer::WINDOW_MODE_FULLSCREEN || mode == DisplayServer::WINDOW_MODE_EXCLUSIVE_FULLSCREEN) { + DisplayServer::get_singleton()->window_set_mode(prev_mode); + } else { + prev_mode = mode; + DisplayServer::get_singleton()->window_set_mode(DisplayServer::WINDOW_MODE_FULLSCREEN); + } } break; case EDITOR_SCREENSHOT: { screenshot_timer->start(); |