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.
This commit is contained in:
Conrad Irwin 2024-03-15 21:16:09 -06:00 committed by GitHub
parent c2b42e2bab
commit f1d98dc748
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -553,6 +553,11 @@ impl Platform for MacPlatform {
let workspace: id = msg_send![class!(NSWorkspace), sharedWorkspace]; let workspace: id = msg_send![class!(NSWorkspace), sharedWorkspace];
let scheme: id = ns_string(scheme); let scheme: id = ns_string(scheme);
let app: id = msg_send![workspace, URLForApplicationWithBundleIdentifier: bundle_id]; 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 done_tx = Cell::new(Some(done_tx));
let block = ConcreteBlock::new(move |error: id| { let block = ConcreteBlock::new(move |error: id| {
let result = if error == nil { let result = if error == nil {