diff --git a/crates/gpui/src/app.rs b/crates/gpui/src/app.rs index dbe221911a2619aad11dbd31f5bbf07ca8b9fb93..8af0a8923b38a6f711d701730996afca012fb48b 100644 --- a/crates/gpui/src/app.rs +++ b/crates/gpui/src/app.rs @@ -744,9 +744,11 @@ impl App { })); platform.on_quit(Box::new({ - let cx = app.clone(); + let cx = Rc::downgrade(&app); move || { - cx.borrow_mut().shutdown(); + if let Some(cx) = cx.upgrade() { + cx.borrow_mut().shutdown(); + } } }));