diff options
Diffstat (limited to 'scene/main')
| -rw-r--r-- | scene/main/viewport.cpp | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 49ecfee54..4083dc893 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -1574,30 +1574,29 @@ void Viewport::_gui_call_input(Control *p_control,const InputEvent& p_input) { // _block(); - CanvasItem *ci=p_control; - while(ci) { + CanvasItem *ci=p_control; + while(ci) { - Control *control = ci->cast_to<Control>(); - if (control) { - control->call_multilevel(SceneStringNames::get_singleton()->_input_event,p_input); - if (gui.key_event_accepted) - break; - if (!control->is_inside_tree()) - break; - control->emit_signal(SceneStringNames::get_singleton()->input_event,p_input); - if (!control->is_inside_tree() || control->is_set_as_toplevel()) { - break; - } - if (gui.key_event_accepted) - break; - if (control->data.stop_mouse && (p_input.type==InputEvent::MOUSE_BUTTON || p_input.type==InputEvent::MOUSE_MOTION)) - break; - } + Control *control = ci->cast_to<Control>(); + if (control) { + control->call_multilevel(SceneStringNames::get_singleton()->_input_event,p_input); + if (gui.key_event_accepted) + break; + if (!control->is_inside_tree()) + break; + control->emit_signal(SceneStringNames::get_singleton()->input_event,p_input); + if (!control->is_inside_tree() || control->is_set_as_toplevel()) + break; + if (gui.key_event_accepted) + break; + if (control->data.stop_mouse && (p_input.type==InputEvent::MOUSE_BUTTON || p_input.type==InputEvent::MOUSE_MOTION)) + break; + } - if (ci->is_set_as_toplevel()) - break; + if (ci->is_set_as_toplevel()) + break; - ci=ci->get_parent_item(); + ci=ci->get_parent_item(); } //_unblock(); |
