fix: unwrap in main fn

This commit is contained in:
Nova
2023-06-26 20:33:04 -04:00
parent d7bf01c417
commit 34c57254a9

View File

@@ -13,7 +13,6 @@ use crate::objects::input::sk_hand::SkHand;
use self::core::eventloop::EventLoop; use self::core::eventloop::EventLoop;
use clap::Parser; use clap::Parser;
use color_eyre::eyre::Result;
use directories::ProjectDirs; use directories::ProjectDirs;
use once_cell::sync::OnceCell; use once_cell::sync::OnceCell;
use stardust_xr::server; use stardust_xr::server;
@@ -59,7 +58,7 @@ struct EventLoopInfo {
socket_path: PathBuf, socket_path: PathBuf,
} }
fn main() -> Result<()> { fn main() {
let registry = tracing_subscriber::registry(); let registry = tracing_subscriber::registry();
#[cfg(feature = "profile_app")] #[cfg(feature = "profile_app")]
let (chrome_layer, _guard) = tracing_chrome::ChromeLayerBuilder::new() let (chrome_layer, _guard) = tracing_chrome::ChromeLayerBuilder::new()
@@ -107,8 +106,8 @@ fn main() -> Result<()> {
info!("Init StereoKit"); info!("Init StereoKit");
sk.material_set_shader( sk.material_set_shader(
sk.material_find("default/material_pbr")?, sk.material_find("default/material_pbr").unwrap(),
sk.shader_find("default/shader_pbr_clip")?, sk.shader_find("default/shader_pbr_clip").unwrap(),
); );
// Skytex/light stuff // Skytex/light stuff
@@ -136,7 +135,11 @@ fn main() -> Result<()> {
} }
} }
let mouse_pointer = cli_args.flatscreen.then(MousePointer::new).transpose()?; let mouse_pointer = cli_args
.flatscreen
.then(MousePointer::new)
.transpose()
.unwrap();
let mut hands = (!cli_args.flatscreen) let mut hands = (!cli_args.flatscreen)
.then(|| { .then(|| {
let left = SkHand::new(Handed::Left).ok(); let left = SkHand::new(Handed::Left).ok();
@@ -153,7 +156,8 @@ fn main() -> Result<()> {
.flatten(); .flatten();
let eye_pointer = (!cli_args.flatscreen && sk.device_has_eye_gaze()) let eye_pointer = (!cli_args.flatscreen && sk.device_has_eye_gaze())
.then(EyePointer::new) .then(EyePointer::new)
.transpose()?; .transpose()
.unwrap();
if hands.is_none() { if hands.is_none() {
sk.input_hand_visible(Handed::Left, false); sk.input_hand_visible(Handed::Left, false);
@@ -164,12 +168,13 @@ fn main() -> Result<()> {
let (info_sender, info_receiver) = oneshot::channel::<EventLoopInfo>(); let (info_sender, info_receiver) = oneshot::channel::<EventLoopInfo>();
let event_thread = std::thread::Builder::new() let event_thread = std::thread::Builder::new()
.name("event_loop".to_owned()) .name("event_loop".to_owned())
.spawn(move || event_loop(info_sender, event_stop_rx))?; .spawn(move || event_loop(info_sender, event_stop_rx))
let event_loop_info = info_receiver.blocking_recv()?; .unwrap();
let event_loop_info = info_receiver.blocking_recv().unwrap();
let _tokio_handle = event_loop_info.tokio_handle.enter(); let _tokio_handle = event_loop_info.tokio_handle.enter();
#[cfg(feature = "wayland")] #[cfg(feature = "wayland")]
let mut wayland = wayland::Wayland::new()?; let mut wayland = wayland::Wayland::new().unwrap();
info!("Stardust ready!"); info!("Stardust ready!");
if let Some(project_dirs) = project_dirs.as_ref() { if let Some(project_dirs) = project_dirs.as_ref() {
@@ -250,14 +255,14 @@ fn main() -> Result<()> {
}); });
#[cfg(feature = "wayland")] #[cfg(feature = "wayland")]
let wayland = ManuallyDrop::new(wayland); let _wayland = ManuallyDrop::new(wayland);
let _ = event_stop_tx.send(()); let _ = event_stop_tx.send(());
event_thread event_thread
.join() .join()
.expect("Failed to cleanly shut down event loop")?; .expect("Failed to cleanly shut down event loop")
.unwrap();
info!("Cleanly shut down Stardust"); info!("Cleanly shut down Stardust");
Ok(())
} }
fn adaptive_sleep( fn adaptive_sleep(