Fix `push_input` events not going through after first pressed mouse event
@@ -3316,6 +3316,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) {