From f1d98dc7486f6b347e6e6e2124e0c3685c84ea9b Mon Sep 17 00:00:00 2001 From: Conrad Irwin Date: Fri, 15 Mar 2024 21:16:09 -0600 Subject: [PATCH] Fix segfault in "install:cli" when app is not yet installed (#9427) Release Notes: - Fixed a panic running `cli: Install` or `cli: Register Zed Scheme` before installing the app. --- crates/gpui/src/platform/mac/platform.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crates/gpui/src/platform/mac/platform.rs b/crates/gpui/src/platform/mac/platform.rs index 25346f7b5b..7d76b1d27a 100644 --- a/crates/gpui/src/platform/mac/platform.rs +++ b/crates/gpui/src/platform/mac/platform.rs @@ -553,6 +553,11 @@ impl Platform for MacPlatform { let workspace: id = msg_send![class!(NSWorkspace), sharedWorkspace]; let scheme: id = ns_string(scheme); let app: id = msg_send![workspace, URLForApplicationWithBundleIdentifier: bundle_id]; + if app == nil { + return Task::ready(Err(anyhow!( + "Cannot register URL scheme until app is installed" + ))); + } let done_tx = Cell::new(Some(done_tx)); let block = ConcreteBlock::new(move |error: id| { let result = if error == nil {