Hide window until Renderer has been initialized

This commit is contained in:
Héctor Ramón Jiménez 2023-02-11 03:06:42 +01:00
parent 92ba26b8a1
commit 9506fb1181
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
2 changed files with 16 additions and 7 deletions

View file

@ -147,11 +147,15 @@ where
#[cfg(target_arch = "wasm32")]
let target = settings.window.platform_specific.target.clone();
let builder = settings.window.into_builder(
&application.title(),
event_loop.primary_monitor(),
settings.id,
);
let should_be_visible = settings.window.visible;
let builder = settings
.window
.into_builder(
&application.title(),
event_loop.primary_monitor(),
settings.id,
)
.with_visible(false);
log::info!("Window builder: {:#?}", builder);
@ -202,6 +206,7 @@ where
control_sender,
init_command,
window,
should_be_visible,
settings.exit_on_close_request,
);
@ -268,6 +273,7 @@ async fn run_instance<A, E, C>(
mut control_sender: mpsc::UnboundedSender<winit::event_loop::ControlFlow>,
init_command: Command<A::Message>,
window: winit::window::Window,
should_be_visible: bool,
exit_on_close_request: bool,
) where
A: Application + 'static,
@ -295,6 +301,10 @@ async fn run_instance<A, E, C>(
physical_size.height,
);
if should_be_visible {
window.set_visible(true);
}
run_command(
&application,
&mut cache,

View file

@ -114,8 +114,7 @@ impl Window {
.with_decorations(self.decorations)
.with_transparent(self.transparent)
.with_window_icon(self.icon)
.with_always_on_top(self.always_on_top)
.with_visible(self.visible);
.with_always_on_top(self.always_on_top);
if let Some(position) = conversion::position(
primary_monitor.as_ref(),