fix(core): panic on menu event with minimized windows, closes #3902 (#3918)

This commit is contained in:
Lucas Fernandes Nogueira
2022-04-20 07:30:59 -07:00
committed by GitHub
parent 3bd3d923d3
commit 70ff55c1aa
2 changed files with 18 additions and 1 deletions

View File

@@ -0,0 +1,6 @@
---
"tauri": patch
"tauri-runtime-wry": patch
---
Fixes a panic when a menu event is triggered when all windows are minimized on macOS.

View File

@@ -2395,7 +2395,18 @@ fn handle_event_loop<T: UserEvent>(
origin: MenuType::MenuBar,
..
} => {
let window_id = window_id.unwrap(); // always Some on MenuBar event
#[allow(unused_mut)]
let mut window_id = window_id.unwrap(); // always Some on MenuBar event
#[cfg(target_os = "macos")]
{
// safety: we're only checking to see if the window_id is 0
// which is the value sent by macOS when the window is minimized (NSApplication::sharedApplication::mainWindow is null)
if window_id == unsafe { WindowId::dummy() } {
window_id = *webview_id_map.0.lock().unwrap().keys().next().unwrap();
}
}
let event = MenuEvent {
menu_item_id: menu_id.0,
};