diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-08-17 00:45:57 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-08-17 00:45:57 +0200 |
commit | a7200cedbc6afcafad23d8ea645de9d8631efa2b (patch) | |
tree | e47dee1b2d9491253214c274b07ea4c97e197ae3 | |
parent | 66cbdc95e192a0a5a61e8c4a0b639556be5d828d (diff) | |
parent | 78dc310103d2f241fd38fed7895c0a2f0cc7508a (diff) | |
download | redot-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.cpp | 5 |
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); |