浏览代码

Invalidate key focus if not visible, fixes #5354

Juan Linietsky 9 年之前
父节点
当前提交
3185ce64c5
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      scene/main/viewport.cpp

+ 6 - 1
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()) {