Change summary
gpui/src/app.rs | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
Detailed changes
@@ -2389,7 +2389,6 @@ impl<T> Handle<T> for ViewHandle<T> {
}
}
-#[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<T: View> From<&ViewHandle<T>> for AnyViewHandle {
fn from(handle: &ViewHandle<T>) -> Self {
handle.ref_counts.lock().inc_entity(handle.view_id);