summaryrefslogtreecommitdiff
path: root/engine/src/windowing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/windowing.rs')
-rw-r--r--engine/src/windowing.rs47
1 files changed, 25 insertions, 22 deletions
diff --git a/engine/src/windowing.rs b/engine/src/windowing.rs
index 03e0ff8..a10b7c1 100644
--- a/engine/src/windowing.rs
+++ b/engine/src/windowing.rs
@@ -1,6 +1,6 @@
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::{Arc, Weak};
-use std::thread::{JoinHandle as ThreadJoinHandle, spawn};
+use std::thread::{Builder as ThreadBuilder, JoinHandle as ThreadJoinHandle};
use crossbeam_channel::{
Receiver as ChannelReceiver,
@@ -361,30 +361,33 @@ impl Default for Context
bounded_channel::<MessageToApp>(MESSAGE_TO_APP_CHANNEL_CAP);
Self {
- _thread: spawn(move || {
- let mut app = App {
- message_from_app_sender,
- message_from_app_receiver: message_from_app_receiver_b,
- message_to_app_receiver,
- is_dropped: is_dropped_b,
- windows: MapVec::default(),
- focused_window_id: None,
- };
+ _thread: ThreadBuilder::new()
+ .name("windowing".to_string())
+ .spawn(move || {
+ let mut app = App {
+ message_from_app_sender,
+ message_from_app_receiver: message_from_app_receiver_b,
+ message_to_app_receiver,
+ is_dropped: is_dropped_b,
+ windows: MapVec::default(),
+ focused_window_id: None,
+ };
- let event_loop = match create_event_loop() {
- Ok(event_loop) => event_loop,
- Err(err) => {
- tracing::error!("Failed to create event loop: {err}");
- return;
- }
- };
+ let event_loop = match create_event_loop() {
+ Ok(event_loop) => event_loop,
+ Err(err) => {
+ tracing::error!("Failed to create event loop: {err}");
+ return;
+ }
+ };
- event_loop.set_control_flow(EventLoopControlFlow::Poll);
+ event_loop.set_control_flow(EventLoopControlFlow::Poll);
- if let Err(err) = event_loop.run_app(&mut app) {
- tracing::error!("Event loop error occurred: {err}");
- }
- }),
+ if let Err(err) = event_loop.run_app(&mut app) {
+ tracing::error!("Event loop error occurred: {err}");
+ }
+ })
+ .expect("Failed to create windowing thread"),
is_dropped,
message_from_app_receiver,
message_to_app_sender,