From 3185ce64c5c27c3ce7c4ce755bfc890bac172f04 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Fri, 1 Jul 2016 10:42:33 -0300 Subject: Invalidate key focus if not visible, fixes #5354 --- scene/main/viewport.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index ef00dcec49..8df7bb4791 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -2058,7 +2058,12 @@ void Viewport::_gui_input_event(InputEvent p_event) { case InputEvent::JOYSTICK_BUTTON: case InputEvent::KEY: { - if (gui.key_focus) { + if (gui.key_focus && !gui.key_focus->is_visible()) { + //key focus must always be visible + gui.key_focus->release_focus(); + } + + if (gui.key_focus) { gui.key_event_accepted=false; if (gui.key_focus->can_process()) { -- cgit v1.2.3