1
0
mirror of https://github.com/emilk/egui.git synced 2026-09-02 06:40:06 -04:00

* Fix example hello_world_par

* Added warning for glow eframe when creating `Context::create_viewport_sync` in other thread, or cannot be rendered!
* Fix clippy warning
This commit is contained in:
Konkitoman
2023-08-25 11:22:18 +03:00
parent b0287e96e5
commit 4d01644b33
4 changed files with 16 additions and 11 deletions

View File

@@ -1034,6 +1034,11 @@ mod glow_integration {
); );
let glutin = &mut *glutin.write(); let glutin = &mut *glutin.write();
let screen_size_in_pixels: [u32; 2] =
win.inner_size().into();
let clipped_primitives = egui_ctx.tessellate(output.shapes);
glutin.current_gl_context = Some( glutin.current_gl_context = Some(
glutin glutin
.current_gl_context .current_gl_context
@@ -1045,8 +1050,14 @@ mod glow_integration {
.unwrap(), .unwrap(),
); );
let screen_size_in_pixels: [u32; 2] = if !window
win.inner_size().into(); .gl_surface
.as_ref()
.unwrap()
.is_current(glutin.current_gl_context.as_ref().unwrap())
{
log::error!("egui::create_viewport_sync with title: `{}` is not created in main thread, try to use wgpu!", window.builder.title);
}
egui_glow::painter::clear( egui_glow::painter::clear(
&_gl, &_gl,
@@ -1054,8 +1065,6 @@ mod glow_integration {
[0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0],
); );
let clipped_primitives = egui_ctx.tessellate(output.shapes);
_painter.write().paint_and_update_textures( _painter.write().paint_and_update_textures(
screen_size_in_pixels, screen_size_in_pixels,
egui_ctx.pixels_per_point(), egui_ctx.pixels_per_point(),

View File

@@ -271,8 +271,7 @@ impl ContextImpl {
.memory .memory
.new_pixels_per_viewport .new_pixels_per_viewport
.get(&viewport_id) .get(&viewport_id)
.map(|pixels| *pixels != new_pixels_per_point) .map_or(true, |pixels| *pixels != new_pixels_per_point)
.unwrap_or(true)
{ {
new_raw_input.pixels_per_point = Some(new_pixels_per_point); new_raw_input.pixels_per_point = Some(new_pixels_per_point);
self.memory self.memory

View File

@@ -12,7 +12,7 @@ publish = false
eframe = { path = "../../crates/eframe", default-features = false, features = [ eframe = { path = "../../crates/eframe", default-features = false, features = [
# accesskit struggles with threading # accesskit struggles with threading
"default_fonts", "default_fonts",
"glow", "wgpu",
# "wgpu", "x11"
] } ] }
env_logger = "0.10" env_logger = "0.10"

View File

@@ -136,9 +136,6 @@ impl eframe::App for MyApp {
for (_handle, show_tx) in &self.threads { for (_handle, show_tx) in &self.threads {
let _ = show_tx.send(ctx.clone()); let _ = show_tx.send(ctx.clone());
}
for _ in 0..self.threads.len() {
let _ = self.on_done_rc.recv(); let _ = self.on_done_rc.recv();
} }
} }