Fixed the order of input, reverts #4384, closes #5361

This commit is contained in:
Juan Linietsky 2016-07-01 11:42:09 -03:00
parent 8cbb154466
commit ec94dd7eee
2 changed files with 2 additions and 10 deletions

View file

@ -416,7 +416,7 @@ Ref<ShortCut> BaseButton:: get_shortcut() const {
void BaseButton::_unhandled_input(InputEvent p_event) {
if (!is_disabled() && is_visible() && shortcut.is_valid() && shortcut->is_shortcut(p_event)) {
if (!is_disabled() && is_visible() && p_event.is_pressed() && shortcut.is_valid() && shortcut->is_shortcut(p_event)) {
if (get_viewport()->get_modal_stack_top() && !get_viewport()->get_modal_stack_top()->is_a_parent_of(this))
return; //ignore because of modal window

View file

@ -2060,14 +2060,6 @@ void Viewport::_gui_input_event(InputEvent p_event) {
if (gui.key_focus && !gui.key_focus->is_visible()) {
Node *c=gui.key_focus;
String p;
while(c) {
p=c->get_type()+"/"+p;
c=c->get_parent();
}
print_line(p);
//key focus must always be visible
gui.key_focus->release_focus();
}
@ -2410,8 +2402,8 @@ void Viewport::input(const InputEvent& p_event) {
ERR_FAIL_COND(!is_inside_tree());
get_tree()->_call_input_pause(input_group,"_input",p_event); //not a bug, must happen before GUI, order is _input -> gui input -> _unhandled input
_gui_input_event(p_event);
get_tree()->_call_input_pause(input_group,"_input",p_event);
//get_tree()->call_group(SceneTree::GROUP_CALL_REVERSE|SceneTree::GROUP_CALL_REALTIME|SceneTree::GROUP_CALL_MULIILEVEL,gui_input_group,"_gui_input",p_event); //special one for GUI, as controls use their own process check
}