fix: menu bar and flex row event handling

This commit is contained in:
Ashley Wulber 2026-02-22 22:47:28 -05:00
parent 93527e6321
commit d6bdb3fdae
No known key found for this signature in database
GPG key ID: 5216D4F46A90A820
2 changed files with 28 additions and 27 deletions

View file

@ -160,11 +160,12 @@ impl<Message: 'static + Clone> Widget<Message, crate::Theme, Renderer> for FlexR
shell: &mut Shell<'_, Message>, shell: &mut Shell<'_, Message>,
viewport: &Rectangle, viewport: &Rectangle,
) { ) {
self.children for ((child, state), c_layout) in self
.children
.iter_mut() .iter_mut()
.zip(&mut tree.children) .zip(&mut tree.children)
.zip(layout.children()) .zip(layout.children())
.map(|((child, state), c_layout)| { {
child.as_widget_mut().update( child.as_widget_mut().update(
state, state,
event, event,
@ -174,8 +175,8 @@ impl<Message: 'static + Clone> Widget<Message, crate::Theme, Renderer> for FlexR
clipboard, clipboard,
shell, shell,
viewport, viewport,
) );
}); }
} }
fn mouse_interaction( fn mouse_interaction(

View file

@ -810,11 +810,11 @@ fn process_root_events<Message>(
shell: &mut Shell<'_, Message>, shell: &mut Shell<'_, Message>,
viewport: &Rectangle, viewport: &Rectangle,
) { ) {
menu_roots for ((root, t), lo) in menu_roots
.iter_mut() .iter_mut()
.zip(&mut tree.children) .zip(&mut tree.children)
.zip(layout.children()) .zip(layout.children())
.map(|((root, t), lo)| { {
// assert!(t.tag == tree::Tag::stateless()); // assert!(t.tag == tree::Tag::stateless());
root.item.update( root.item.update(
&mut t.children[root.index], &mut t.children[root.index],
@ -825,6 +825,6 @@ fn process_root_events<Message>(
clipboard, clipboard,
shell, shell,
viewport, viewport,
) );
}); }
} }