summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-08-17 00:45:57 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-08-17 00:45:57 +0200
commita7200cedbc6afcafad23d8ea645de9d8631efa2b (patch)
treee47dee1b2d9491253214c274b07ea4c97e197ae3
parent66cbdc95e192a0a5a61e8c4a0b639556be5d828d (diff)
parent78dc310103d2f241fd38fed7895c0a2f0cc7508a (diff)
downloadredot-engine-a7200cedbc6afcafad23d8ea645de9d8631efa2b.tar.gz
Merge pull request #95154 from jsjtxietian/quit-freelook
Fix Pressing Escape doesn't exit freelook in the 3D editor
-rw-r--r--editor/plugins/node_3d_editor_plugin.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp
index 1df9dae767..22300fe851 100644
--- a/editor/plugins/node_3d_editor_plugin.cpp
+++ b/editor/plugins/node_3d_editor_plugin.cpp
@@ -2254,6 +2254,11 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
}
if (_edit.mode == TRANSFORM_NONE) {
+ if (_edit.gizmo.is_null() && is_freelook_active() && k->get_keycode() == Key::ESCAPE) {
+ set_freelook_active(false);
+ return;
+ }
+
if (_edit.gizmo.is_valid() && (k->get_keycode() == Key::ESCAPE || k->get_keycode() == Key::BACKSPACE)) {
// Restore.
_edit.gizmo->commit_handle(_edit.gizmo_handle, _edit.gizmo_handle_secondary, _edit.gizmo_initial_value, true);