mirror of
https://github.com/emilk/egui.git
synced 2026-08-31 13:50:04 -04:00
Avoid some Window Rc clones
This commit is contained in:
@@ -1930,9 +1930,11 @@ mod wgpu_integration {
|
|||||||
if let Some(running) = &mut self.running {
|
if let Some(running) = &mut self.running {
|
||||||
crate::profile_function!();
|
crate::profile_function!();
|
||||||
let mut shared = running.shared.borrow_mut();
|
let mut shared = running.shared.borrow_mut();
|
||||||
if let Some(Viewport { window, .. }) = shared.viewports.get(&id) {
|
let SharedState {
|
||||||
let window = window.clone();
|
viewports, painter, ..
|
||||||
return pollster::block_on(shared.painter.set_window(id, window.as_deref()));
|
} = &mut *shared;
|
||||||
|
if let Some(Viewport { window, .. }) = viewports.get(&id) {
|
||||||
|
return pollster::block_on(painter.set_window(id, window.as_deref()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
@@ -2516,11 +2518,11 @@ mod wgpu_integration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (viewport_id, command) in viewport_commands {
|
for (viewport_id, command) in viewport_commands {
|
||||||
if let Some(window) = viewports.get(&viewport_id).and_then(|w| w.window.clone()) {
|
if let Some(window) = viewports.get(&viewport_id).and_then(|w| w.window.as_ref()) {
|
||||||
let is_viewport_focused = self.focused_viewport == Some(viewport_id);
|
let is_viewport_focused = self.focused_viewport == Some(viewport_id);
|
||||||
egui_winit::process_viewport_commands(
|
egui_winit::process_viewport_commands(
|
||||||
std::iter::once(command),
|
std::iter::once(command),
|
||||||
&window,
|
window,
|
||||||
is_viewport_focused,
|
is_viewport_focused,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user