fixed stuff for steamvr openxr to not crash

This commit is contained in:
MalekiRe
2023-09-09 21:43:06 -07:00
parent 6d60b55b02
commit aca80bade3
4 changed files with 21 additions and 8 deletions

View File

@@ -322,12 +322,18 @@ pub fn locate_views(
xr_frame_state: Res<XrFrameState>,
) {
let _span = info_span!("xr_locate_views").entered();
*views.lock().unwrap() = session
*views.lock().unwrap() = match session
.locate_views(
VIEW_TYPE,
xr_frame_state.lock().unwrap().predicted_display_time,
&input.stage,
)
.unwrap()
{
Ok(this) => this,
Err(err) => {
warn!("error: {}", err);
return;
}
}
.1;
}

View File

@@ -134,6 +134,10 @@ impl<G: xr::Graphics> SwapchainInner<G> {
},
};
let swapchain = self.handle.lock().unwrap();
if views.len() == 0 {
warn!("views are len of 0");
return Ok(())
}
self.stream.lock().unwrap().end(
predicted_display_time,
environment_blend_mode,

View File

@@ -59,7 +59,7 @@ fn action_set_system(action_sets: Res<ActionSets>, session: Res<XrSession>) {
for i in &action_sets.0 {
active_action_sets.push(openxr::ActiveActionSet::new(i));
}
info!("action sets: {:#?}", action_sets.0.len());
//info!("action sets: {:#?}", action_sets.0.len());
match session.sync_actions(&active_action_sets) {
Err(err) => {
warn!("{}", err);