gpui: Avoid dereferencing null pointer in MacWindow::active_window
(#28059)
This PR adds a check to avoid dereferencing a null pointer in `MacWindow::active_window`. Rust 1.86 now has a [debug assertion for dereferencing null pointers](https://blog.rust-lang.org/2025/04/03/Rust-1.86.0.html#debug-assertions-that-pointers-are-non-null-when-required-for-soundness), which means that losing focus of the window would cause a null pointer to be dereferenced and panic. Release Notes: - N/A
This commit is contained in:
parent
819bb8fffb
commit
ec40e2d85c
1 changed files with 4 additions and 0 deletions
|
@ -744,6 +744,10 @@ impl MacWindow {
|
|||
unsafe {
|
||||
let app = NSApplication::sharedApplication(nil);
|
||||
let main_window: id = msg_send![app, mainWindow];
|
||||
if main_window.is_null() {
|
||||
return None;
|
||||
}
|
||||
|
||||
if msg_send![main_window, isKindOfClass: WINDOW_CLASS] {
|
||||
let handle = get_window_state(&*main_window).lock().handle;
|
||||
Some(handle)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue