diff --git a/gpui/src/app.rs b/gpui/src/app.rs index 33899fc77a7ea9db90f4b69a3d698345441de24f..43c541730858d4da344ffdd6d67e71f73be7df51 100644 --- a/gpui/src/app.rs +++ b/gpui/src/app.rs @@ -2389,7 +2389,6 @@ impl Handle for ViewHandle { } } -#[derive(Clone)] pub struct AnyViewHandle { window_id: usize, view_id: usize, @@ -2425,6 +2424,18 @@ impl AnyViewHandle { } } +impl Clone for AnyViewHandle { + fn clone(&self) -> Self { + self.ref_counts.lock().inc_entity(self.view_id); + Self { + window_id: self.window_id, + view_id: self.view_id, + view_type: self.view_type, + ref_counts: self.ref_counts.clone(), + } + } +} + impl From<&ViewHandle> for AnyViewHandle { fn from(handle: &ViewHandle) -> Self { handle.ref_counts.lock().inc_entity(handle.view_id);