fix: unwrap in main fn
This commit is contained in:
29
src/main.rs
29
src/main.rs
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user