From 2edfbf1a3a33199eb963532118d83a40f4d99af2 Mon Sep 17 00:00:00 2001 From: Jason Tsai Date: Mon, 1 Apr 2024 22:07:28 +0800 Subject: [PATCH] fix(macos): crash on removing menu item (#176) --- .changes/fix-macos-crash-on-remove.md | 5 +++++ src/platform_impl/macos/mod.rs | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 .changes/fix-macos-crash-on-remove.md diff --git a/.changes/fix-macos-crash-on-remove.md b/.changes/fix-macos-crash-on-remove.md new file mode 100644 index 00000000..d6a3f0ec --- /dev/null +++ b/.changes/fix-macos-crash-on-remove.md @@ -0,0 +1,5 @@ +--- +"muda": patch +--- + +On macOS, fix a crash when removing a menu item. diff --git a/src/platform_impl/macos/mod.rs b/src/platform_impl/macos/mod.rs index e951c28d..61914a9e 100644 --- a/src/platform_impl/macos/mod.rs +++ b/src/platform_impl/macos/mod.rs @@ -539,8 +539,7 @@ impl MenuChild { AddOp::Append => { for menus in self.ns_menus.as_ref().unwrap().values() { for ns_menu in menus { - let ns_menu_item: id = - item.make_ns_item_for_menu(self.ns_menu.as_ref().unwrap().0)?; + let ns_menu_item: id = item.make_ns_item_for_menu(ns_menu.0)?; ns_menu.1.addItem_(ns_menu_item); } } @@ -554,8 +553,7 @@ impl MenuChild { AddOp::Insert(position) => { for menus in self.ns_menus.as_ref().unwrap().values() { for ns_menu in menus { - let ns_menu_item: id = - item.make_ns_item_for_menu(self.ns_menu.as_ref().unwrap().0)?; + let ns_menu_item: id = item.make_ns_item_for_menu(ns_menu.0)?; let () = msg_send![ns_menu.1, insertItem: ns_menu_item atIndex: position as NSInteger]; } }