From 8939f44f6ac5594348e4d671d121680822bd8dc8 Mon Sep 17 00:00:00 2001 From: robfram Date: Tue, 13 Mar 2018 21:20:59 +0100 Subject: [PATCH] Fix pressing `F3` do both changing to script editor AND find next text As `KEY_F3` was used both for changing to script editor window and, in the script editor, for finding the next result in the last search, and the key event is **not** consumed, the resulting behaviour was similar to press `F3` twice, first to change to script editor and second to find the next result of a previous search. This PR sets the `key_pressed` status of `InputEvent` to `false` if this event is responsible of an editor change, simulating the consumption of the event. Fix #17334 --- editor/editor_node.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index e6272639098..d2a1f687788 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -190,6 +190,8 @@ void EditorNode::_unhandled_input(const Ref &p_event) { Ref k = p_event; if (k.is_valid() && k->is_pressed() && !k->is_echo() && !gui_base->get_viewport()->gui_has_modal_stack()) { + EditorPlugin *old_editor = editor_plugin_screen; + if (ED_IS_SHORTCUT("editor/next_tab", p_event)) { int next_tab = editor_data.get_edited_scene() + 1; next_tab %= editor_data.get_edited_scene_count(); @@ -225,6 +227,10 @@ void EditorNode::_unhandled_input(const Ref &p_event) { _bottom_panel_switch(false, i); } } + + if (old_editor != editor_plugin_screen) { + get_tree()->set_input_as_handled(); + } } }