summaryrefslogtreecommitdiffstats
path: root/scene/main/viewport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/main/viewport.cpp')
-rw-r--r--scene/main/viewport.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index f92ab76753..5999b85988 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -738,6 +738,14 @@ void Viewport::_process_picking() {
while (physics_picking_events.size()) {
local_input_handled = false;
+ if (!handle_input_locally) {
+ Viewport *vp = this;
+ while (!Object::cast_to<Window>(vp) && vp->get_parent()) {
+ vp = vp->get_parent()->get_viewport();
+ }
+ vp->local_input_handled = false;
+ }
+
Ref<InputEvent> ev = physics_picking_events.front()->get();
physics_picking_events.pop_front();