diff options
author | 2021-07-13 21:11:13 +0200 | |
---|---|---|
committer | 2021-07-13 21:11:13 +0200 | |
commit | 4abaee8b2354a666a75e4eb5ec9cc9a744936813 (patch) | |
tree | fb722ab139812163aa55ed925e176b61da6f5c58 /winit/src/conversion.rs | |
parent | 6221adf2b1b1e8150931d4175e1e36870d45f6e5 (diff) | |
download | iced-4abaee8b2354a666a75e4eb5ec9cc9a744936813.tar.gz iced-4abaee8b2354a666a75e4eb5ec9cc9a744936813.tar.bz2 iced-4abaee8b2354a666a75e4eb5ec9cc9a744936813.zip |
Use `Menu::default` for root level menu in `conversion::menu`
Diffstat (limited to '')
-rw-r--r-- | winit/src/conversion.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs index 51db615b..75419006 100644 --- a/winit/src/conversion.rs +++ b/winit/src/conversion.rs @@ -179,11 +179,11 @@ fn hotkey(hotkey: keyboard::Hotkey) -> winit::window::Hotkey { /// [`iced_native`]: https://github.com/hecrj/iced/tree/master/native pub fn menu<Message>(menu: &Menu<Message>) -> winit::window::Menu { fn menu_i<Message>( + converted: &mut winit::window::Menu, starting_id: usize, menu: &Menu<Message>, - ) -> (winit::window::Menu, usize) { + ) -> usize { let mut id = starting_id; - let mut converted = winit::window::Menu::new(); for item in menu.iter() { match item { @@ -195,9 +195,11 @@ pub fn menu<Message>(menu: &Menu<Message>) -> winit::window::Menu { id += 1; } menu::Entry::Dropdown { content, submenu } => { - let (submenu, n_children) = menu_i(id, submenu); + let mut converted_submenu = winit::window::Menu::new(); + let n_children = + menu_i(&mut converted_submenu, id, submenu); - converted.add_dropdown(content, submenu); + converted.add_dropdown(content, converted_submenu); id += n_children; } @@ -207,10 +209,11 @@ pub fn menu<Message>(menu: &Menu<Message>) -> winit::window::Menu { } } - (converted, id - starting_id) + id - starting_id } - let (converted, _) = menu_i(0, menu); + let mut converted = winit::window::Menu::default(); + let _ = menu_i(&mut converted, 0, menu); converted } |