diff --git a/crates/gpui/src/app.rs b/crates/gpui/src/app.rs index bc38b28bba374f4bfdc1618c3b3b7bf49e3205e2..534f77a34904abbdbd86d3e5811b8a7de2ec529e 100644 --- a/crates/gpui/src/app.rs +++ b/crates/gpui/src/app.rs @@ -2618,7 +2618,7 @@ impl UpgradeModelHandle for AppContext { &self, handle: &WeakModelHandle, ) -> Option> { - if self.models.contains_key(&handle.model_id) { + if self.ref_counts.lock().is_entity_alive(handle.model_id) { Some(ModelHandle::new(handle.model_id, &self.ref_counts)) } else { None @@ -2626,11 +2626,11 @@ impl UpgradeModelHandle for AppContext { } fn model_handle_is_upgradable(&self, handle: &WeakModelHandle) -> bool { - self.models.contains_key(&handle.model_id) + self.ref_counts.lock().is_entity_alive(handle.model_id) } fn upgrade_any_model_handle(&self, handle: &AnyWeakModelHandle) -> Option { - if self.models.contains_key(&handle.model_id) { + if self.ref_counts.lock().is_entity_alive(handle.model_id) { Some(AnyModelHandle::new( handle.model_id, handle.model_type,