mirror of
https://github.com/emilk/egui.git
synced 2026-09-02 14:50:03 -04:00
Fix: First frame of Context::create_viewport_sync was always skiped because we didn't have a window to draw on!
Changes: Now Context::create_viewport_sync returns T, before was Option<T>
This commit is contained in:
@@ -396,7 +396,7 @@ impl<'open> Window<'open> {
|
||||
.with_max_inner_size(Some((max_size.x as u32, max_size.y as u32)));
|
||||
}
|
||||
|
||||
return ctx.create_viewport_sync(window_builder, move |ctx| {
|
||||
return Some(ctx.create_viewport_sync(window_builder, move |ctx| {
|
||||
let mut op = is_open;
|
||||
let open = if show_close_button {
|
||||
Some(&mut op)
|
||||
@@ -625,7 +625,7 @@ impl<'open> Window<'open> {
|
||||
inner: content_inner,
|
||||
response: full_response,
|
||||
}
|
||||
});
|
||||
}));
|
||||
}
|
||||
}
|
||||
let frame = frame.unwrap_or_else(|| Frame::window(&ctx.style()));
|
||||
|
||||
@@ -2318,7 +2318,7 @@ impl Context {
|
||||
&self,
|
||||
viewport_builder: ViewportBuilder,
|
||||
func: impl FnOnce(&Context) -> T,
|
||||
) -> Option<T> {
|
||||
) -> T {
|
||||
if !self.force_embedding() {
|
||||
let mut viewport_id = ViewportId::MAIN;
|
||||
let mut parent_viewport_id = ViewportId::MAIN;
|
||||
@@ -2355,9 +2355,9 @@ impl Context {
|
||||
);
|
||||
}
|
||||
|
||||
out
|
||||
out.expect("egui backend is implemented incorrectly! Context::set_render_sync_callback")
|
||||
} else {
|
||||
Some(func(self))
|
||||
func(self)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user