fix(text_input): the trailing icon should always receive input

This commit is contained in:
Ashley Wulber 2024-05-17 16:25:09 -04:00 committed by Michael Murphy
parent 107eeb5f1f
commit 1ae9dae4cb

View file

@ -727,30 +727,30 @@ where
shell.publish((on_edit)(false)); shell.publish((on_edit)(false));
} }
} }
}
let index = tree.children.len() - 1; let index = tree.children.len() - 1;
if let (Some(trailing_icon), Some(tree)) = if let (Some(trailing_icon), Some(tree)) =
(self.trailing_icon.as_mut(), tree.children.get_mut(index)) (self.trailing_icon.as_mut(), tree.children.get_mut(index))
{ {
let children = text_layout.children(); let children = text_layout.children();
trailing_icon_layout = Some(children.last().unwrap()); trailing_icon_layout = Some(children.last().unwrap());
if let Some(trailing_layout) = trailing_icon_layout { if let Some(trailing_layout) = trailing_icon_layout {
if cursor_position.is_over(trailing_layout.bounds()) { if cursor_position.is_over(trailing_layout.bounds()) {
let res = trailing_icon.as_widget_mut().on_event( let res = trailing_icon.as_widget_mut().on_event(
tree, tree,
event.clone(), event.clone(),
trailing_layout, trailing_layout,
cursor_position, cursor_position,
renderer, renderer,
clipboard, clipboard,
shell, shell,
viewport, viewport,
); );
if res == event::Status::Captured { if res == event::Status::Captured {
return res; return res;
}
} }
} }
} }