瀏覽代碼

Merge pull request #87385 from Sauermann/fix-subviewport-physics-picking

Fix SubViewport physics picking
Yuri Sizov 1 年之前
父節點
當前提交
91ac53ec1b
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      scene/main/viewport.cpp

+ 8 - 0
scene/main/viewport.cpp

@@ -738,6 +738,14 @@ void Viewport::_process_picking() {
 
 
 	while (physics_picking_events.size()) {
 	while (physics_picking_events.size()) {
 		local_input_handled = false;
 		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();
 		Ref<InputEvent> ev = physics_picking_events.front()->get();
 		physics_picking_events.pop_front();
 		physics_picking_events.pop_front();