Fix push_input only working the first time

Subviewports didn't update their parent's local_input_handled correctly.

Fixes #76439.
This commit is contained in:
Jummit 2023-06-01 15:26:47 +02:00
parent a83eb16fba
commit 7957354091

View file

@ -2945,6 +2945,16 @@ void Viewport::push_input(const Ref<InputEvent> &p_event, bool p_local_coords) {
}
local_input_handled = false;
if (!handle_input_locally) {
Viewport *vp = this;
while (true) {
if (Object::cast_to<Window>(vp) || !vp->get_parent()) {
break;
}
vp = vp->get_parent()->get_viewport();
}
vp->local_input_handled = false;
}
Ref<InputEvent> ev;
if (!p_local_coords) {