mirror of
https://github.com/emilk/egui.git
synced 2026-06-26 14:49:06 -04:00
Use explicit Arc::clone to clarify when clones are cheap (#7784)
This commit is contained in:
@@ -75,7 +75,7 @@ impl MyApp {
|
||||
|
||||
// Clone locals so we can move them into the paint callback:
|
||||
let angle = self.angle;
|
||||
let rotating_triangle = self.rotating_triangle.clone();
|
||||
let rotating_triangle = Arc::clone(&self.rotating_triangle);
|
||||
|
||||
let callback = egui::PaintCallback {
|
||||
rect,
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
use eframe::{EframePumpStatus, UserEvent, egui};
|
||||
use std::{cell::Cell, io, os::fd::AsRawFd as _, rc::Rc, time::Duration};
|
||||
|
||||
use tokio::task::LocalSet;
|
||||
use winit::event_loop::{ControlFlow, EventLoop};
|
||||
|
||||
use eframe::{EframePumpStatus, UserEvent, egui};
|
||||
|
||||
pub fn run() -> io::Result<()> {
|
||||
env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`).
|
||||
let options = eframe::NativeOptions {
|
||||
@@ -85,7 +87,7 @@ impl eframe::App for MyApp {
|
||||
self.value.set(self.value.get() + 1);
|
||||
}
|
||||
if ui.button("Increment Later").clicked() {
|
||||
let value = self.value.clone();
|
||||
let value = Rc::clone(&self.value);
|
||||
let ctx = ui.ctx().clone();
|
||||
tokio::task::spawn_local(async move {
|
||||
tokio::time::sleep(Duration::from_secs(1)).await;
|
||||
|
||||
@@ -86,7 +86,7 @@ impl eframe::App for MyApp {
|
||||
}
|
||||
|
||||
if self.show_deferred_viewport.load(Ordering::Relaxed) {
|
||||
let show_deferred_viewport = self.show_deferred_viewport.clone();
|
||||
let show_deferred_viewport = Arc::clone(&self.show_deferred_viewport);
|
||||
ui.ctx().show_viewport_deferred(
|
||||
egui::ViewportId::from_hash_of("deferred_viewport"),
|
||||
egui::ViewportBuilder::default()
|
||||
|
||||
@@ -129,7 +129,7 @@ impl eframe::App for MyApp {
|
||||
}
|
||||
|
||||
if self.show_deferred_viewport.load(Ordering::Relaxed) {
|
||||
let show_deferred_viewport = self.show_deferred_viewport.clone();
|
||||
let show_deferred_viewport = Arc::clone(&self.show_deferred_viewport);
|
||||
ui.ctx().show_viewport_deferred(
|
||||
egui::ViewportId::from_hash_of("deferred_viewport"),
|
||||
egui::ViewportBuilder::default()
|
||||
|
||||
@@ -92,7 +92,7 @@ impl eframe::App for MyApp {
|
||||
.unwrap();
|
||||
self.save_to_file = false;
|
||||
}
|
||||
self.screenshot = Some(image.clone());
|
||||
self.screenshot = Some(Arc::clone(image));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user