From 8c110c1be92b8ede654aa605813e758fc5195d1c Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 11 Jul 2024 10:21:45 +0200 Subject: Make window visible after surface creation in `iced_winit` --- winit/src/program.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'winit/src/program.rs') diff --git a/winit/src/program.rs b/winit/src/program.rs index 3a4e2e48..1590cd3c 100644 --- a/winit/src/program.rs +++ b/winit/src/program.rs @@ -494,6 +494,8 @@ where let exit_on_close_request = settings.exit_on_close_request; + let visible = settings.visible; + #[cfg(target_arch = "wasm32")] let target = settings.platform_specific.target.clone(); @@ -507,7 +509,8 @@ where .or(event_loop .primary_monitor()), self.id.clone(), - ), + ) + .with_visible(false), ) .expect("Create window"); @@ -563,6 +566,7 @@ where id, window, exit_on_close_request, + make_visible: visible, }, ); } @@ -612,6 +616,7 @@ enum Event { id: window::Id, window: winit::window::Window, exit_on_close_request: bool, + make_visible: bool, }, EventLoopAwakened(winit::event::Event), } @@ -667,6 +672,7 @@ async fn run_instance( id, window, exit_on_close_request, + make_visible, } => { let window = window_manager.insert( id, @@ -691,6 +697,10 @@ async fn run_instance( ); let _ = ui_caches.insert(id, user_interface::Cache::default()); + if make_visible { + window.raw.set_visible(true); + } + events.push(( id, core::Event::Window(window::Event::Opened { -- cgit