Browse Source

Merge pull request #58610 from Sauermann/fix-physics-mouse

Fix execution of physics picking events at unexpected times
Rémi Verschelde 2 years ago
parent
commit
f7397a5ac6
1 changed files with 5 additions and 0 deletions
  1. 5 0
      scene/main/viewport.cpp

+ 5 - 0
scene/main/viewport.cpp

@@ -527,6 +527,11 @@ void Viewport::_process_picking() {
 	if (to_screen_rect != Rect2i() && Input::get_singleton()->get_mouse_mode() == Input::MOUSE_MODE_CAPTURED) {
 	if (to_screen_rect != Rect2i() && Input::get_singleton()->get_mouse_mode() == Input::MOUSE_MODE_CAPTURED) {
 		return;
 		return;
 	}
 	}
+	if (!gui.mouse_in_viewport) {
+		// Clear picking events if mouse has left viewport.
+		physics_picking_events.clear();
+		return;
+	}
 
 
 	_drop_physics_mouseover(true);
 	_drop_physics_mouseover(true);