fix: request initial redraw to ensure the first frame is rendered

This commit is contained in:
drendog 2025-10-23 20:54:11 +02:00
parent 06f1f8c420
commit 561f51c15b
Signed by: dwenya
GPG key ID: 8DD77074645332D0

View file

@ -29,12 +29,19 @@ impl WindowState {
let component_definition = builder.component_definition.ok_or_else(|| {
LayerShikaError::InvalidInput("Component definition is required".into())
})?;
let window = builder
.window
.ok_or_else(|| LayerShikaError::InvalidInput("Window is required".into()))?;
let component_instance = component_definition
.create()
.map_err(|e| LayerShikaError::SlintComponentCreation(e.to_string()))?;
component_instance
.show()
.map_err(|e| LayerShikaError::SlintComponentCreation(e.to_string()))?;
// Request initial redraw to ensure the first frame is rendered
window.request_redraw();
Ok(Self {
component_instance,
surface: builder
@ -45,9 +52,7 @@ impl WindowState {
.ok_or_else(|| LayerShikaError::InvalidInput("Layer surface is required".into()))?,
size: builder.size.unwrap_or_default(),
output_size: builder.output_size.unwrap_or_default(),
window: builder
.window
.ok_or_else(|| LayerShikaError::InvalidInput("Window is required".into()))?,
window,
current_pointer_position: LogicalPosition::default(),
scale_factor: builder.scale_factor,
height: builder.height,