Merge pull request #2185 from zed-industries/refactor-restart

Used the pre-existing app_path call in the GPUI platform
This commit is contained in:
Mikayla Maki 2023-02-17 10:39:45 -08:00 committed by GitHub
commit 5cfe206433
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -810,25 +810,13 @@ impl platform::Platform for MacPlatform {
let path = std::env::current_exe();
#[cfg(not(debug_assertions))]
let path = unsafe {
let bundle: id = NSBundle::mainBundle();
if bundle.is_null() {
std::env::current_exe()
} else {
let path: id = msg_send![bundle, bundlePath];
let path: *mut c_char = msg_send![path, UTF8String];
Ok(PathBuf::from(OsStr::from_bytes(
CStr::from_ptr(path).to_bytes(),
)))
}
};
let path = self.app_path().or_else(|_| std::env::current_exe());
let command = path.and_then(|path| Command::new("/usr/bin/open").arg(path).spawn());
match command {
Err(err) => log::error!("Unable to restart application {}", err),
Ok(_) => self.quit(),
Ok(_child) => self.quit(),
}
}
}