fix(openxr): don't crash when failing to locate views

Signed-off-by: Schmarni <marnistromer@gmail.com>
This commit is contained in:
Schmarni
2026-01-24 20:50:37 +01:00
parent 337cfdb3f8
commit 728581d8d7

View File

@@ -7,7 +7,7 @@ use bevy_ecs::{
system::{Commands, Query, Res, ResMut}, system::{Commands, Query, Res, ResMut},
world::World, world::World,
}; };
use bevy_log::{debug_span, error, info}; use bevy_log::{debug_span, error, info, warn};
use bevy_render::{ use bevy_render::{
Render, RenderApp, Render, RenderApp,
extract_resource::ExtractResourcePlugin, extract_resource::ExtractResourcePlugin,
@@ -202,13 +202,16 @@ pub fn locate_views(
} else { } else {
frame_state.predicted_display_time frame_state.predicted_display_time
}; };
let (flags, xr_views) = session let Ok((flags, xr_views)) = session
.locate_views( .locate_views(
openxr::ViewConfigurationType::PRIMARY_STEREO, openxr::ViewConfigurationType::PRIMARY_STEREO,
time, time,
&ref_space, &ref_space,
) )
.expect("Failed to locate views"); .inspect_err(|err| warn!("failed to locate views: {err}"))
else {
return;
};
match ( match (
flags & ViewStateFlags::ORIENTATION_VALID == ViewStateFlags::ORIENTATION_VALID, flags & ViewStateFlags::ORIENTATION_VALID == ViewStateFlags::ORIENTATION_VALID,