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

More cleanup

This commit is contained in:
Emil Ernerfeldt
2023-11-11 20:17:15 +01:00
parent 5ecc0e3f62
commit 962eb020f8

View File

@@ -1125,7 +1125,7 @@ mod glow_integration {
) { ) {
crate::profile_function!(); crate::profile_function!();
let has_window = glutin.borrow().viewports.get(&id_pair.this).is_some(); let has_window = glutin.borrow().viewports.contains_key(&id_pair.this);
// This will create a new native window if is needed // This will create a new native window if is needed
if !has_window { if !has_window {
@@ -1168,13 +1168,12 @@ mod glow_integration {
event_loop.borrow().as_ref().expect("No winit event loop") event_loop.borrow().as_ref().expect("No winit event loop")
}) })
}; };
glutin glutin
.init_viewport(&viewport, event_loop) .init_viewport(&viewport, event_loop)
.expect("Cannot init window on egui::Context::show_viewport_immediate"); .expect("Cannot init window on egui::Context::show_viewport_immediate");
} }
// Rendering the sync viewport
let viewport = glutin.borrow().viewports.get(&id_pair.this).cloned(); let viewport = glutin.borrow().viewports.get(&id_pair.this).cloned();
let Some(viewport) = viewport else { return }; let Some(viewport) = viewport else { return };
@@ -1441,11 +1440,9 @@ mod glow_integration {
// That means that the viewport cannot be rendered by itself and needs his parent to be rendered // That means that the viewport cannot be rendered by itself and needs his parent to be rendered
{ {
let glutin = glutin.borrow(); let glutin = glutin.borrow();
let viewport = &glutin.viewports[&viewport_id].clone(); let viewport = glutin.viewports[&viewport_id].borrow();
if viewport.borrow().viewport_ui_cb.is_none() && viewport_id != ViewportId::ROOT { if viewport.viewport_ui_cb.is_none() && viewport_id != ViewportId::ROOT {
if let Some(parent_viewport) = if let Some(parent_viewport) = glutin.viewports.get(&viewport.id_pair.parent) {
glutin.viewports.get(&viewport.borrow().id_pair.parent)
{
if let Some(window) = parent_viewport.borrow().window.as_ref() { if let Some(window) = parent_viewport.borrow().window.as_ref() {
return EventResult::RepaintNext(window.borrow().id()); return EventResult::RepaintNext(window.borrow().id());
} }
@@ -1749,8 +1746,7 @@ mod glow_integration {
let glutin = running.glutin_ctx.borrow(); let glutin = running.glutin_ctx.borrow();
if let Some(viewport_id) = glutin.viewport_maps.get(window_id).copied() if let Some(viewport_id) = glutin.viewport_maps.get(window_id).copied()
{ {
if let Some(viewport) = glutin.viewports.get(&viewport_id).cloned() if let Some(viewport) = &glutin.viewports.get(&viewport_id) {
{
let viewport = &mut *viewport.borrow_mut(); let viewport = &mut *viewport.borrow_mut();
break 'res running.integration.on_event( break 'res running.integration.on_event(
@@ -1793,7 +1789,7 @@ mod glow_integration {
let glutin = running.glutin_ctx.borrow(); let glutin = running.glutin_ctx.borrow();
if let Some(viewport_id) = glutin.viewport_maps.get(window_id).copied() { if let Some(viewport_id) = glutin.viewport_maps.get(window_id).copied() {
if let Some(viewport) = glutin.viewports.get(&viewport_id).cloned() { if let Some(viewport) = &glutin.viewports.get(&viewport_id) {
let mut viewport = viewport.borrow_mut(); let mut viewport = viewport.borrow_mut();
viewport viewport
.egui_winit .egui_winit