diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index dd3ae1ad3cb..373af20d352 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -682,8 +682,9 @@ void Viewport::_process_picking() { if (Object::cast_to(this) && Input::get_singleton()->get_mouse_mode() == Input::MOUSE_MODE_CAPTURED) { return; } - if (!gui.mouse_in_viewport) { - // Clear picking events if mouse has left viewport. + if (!gui.mouse_in_viewport || gui.subwindow_over) { + // Clear picking events if the mouse has left the viewport or is over an embedded window. + // These are locations, that are expected to not trigger physics picking. physics_picking_events.clear(); return; }