mirror of
https://github.com/emilk/egui.git
synced 2026-08-31 22:00:03 -04:00
Make Context::request_repaint safe to call from any thread.
Closes https://github.com/emilk/egui/issues/1379
This commit is contained in:
@@ -46,20 +46,21 @@ pub fn run(app_name: &str, native_options: &epi::NativeOptions, app_creator: epi
|
||||
let mut painter = crate::Painter::new(gl.clone(), None, "")
|
||||
.unwrap_or_else(|error| panic!("some OpenGL error occurred {}\n", error));
|
||||
|
||||
let event_loop_proxy = parking_lot::Mutex::new(event_loop.create_proxy());
|
||||
let egui_ctx = egui::Context::with_repaint_callback({
|
||||
move || {
|
||||
event_loop_proxy.lock().send_event(RequestRepaintEvent).ok();
|
||||
}
|
||||
});
|
||||
|
||||
let mut integration = egui_winit::epi::EpiIntegration::new(
|
||||
"egui_glow",
|
||||
egui_ctx,
|
||||
painter.max_texture_side(),
|
||||
gl_window.window(),
|
||||
persistence,
|
||||
);
|
||||
|
||||
{
|
||||
let event_loop_proxy = parking_lot::Mutex::new(event_loop.create_proxy());
|
||||
integration.egui_ctx.set_request_repaint_callback(move || {
|
||||
event_loop_proxy.lock().send_event(RequestRepaintEvent).ok();
|
||||
});
|
||||
}
|
||||
|
||||
let mut app = app_creator(&epi::CreationContext {
|
||||
egui_ctx: integration.egui_ctx.clone(),
|
||||
integration_info: integration.frame.info(),
|
||||
|
||||
Reference in New Issue
Block a user