From 1ae9dae4cbac2b30041db81aba7df8088bd712fa Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Fri, 17 May 2024 16:25:09 -0400 Subject: [PATCH] fix(text_input): the trailing icon should always receive input --- src/widget/text_input/input.rs | 42 +++++++++++++++++----------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/widget/text_input/input.rs b/src/widget/text_input/input.rs index a3c8dbd8..b8c0c839 100644 --- a/src/widget/text_input/input.rs +++ b/src/widget/text_input/input.rs @@ -727,30 +727,30 @@ where shell.publish((on_edit)(false)); } } + } - let index = tree.children.len() - 1; - if let (Some(trailing_icon), Some(tree)) = - (self.trailing_icon.as_mut(), tree.children.get_mut(index)) - { - let children = text_layout.children(); - trailing_icon_layout = Some(children.last().unwrap()); + let index = tree.children.len() - 1; + if let (Some(trailing_icon), Some(tree)) = + (self.trailing_icon.as_mut(), tree.children.get_mut(index)) + { + let children = text_layout.children(); + trailing_icon_layout = Some(children.last().unwrap()); - if let Some(trailing_layout) = trailing_icon_layout { - if cursor_position.is_over(trailing_layout.bounds()) { - let res = trailing_icon.as_widget_mut().on_event( - tree, - event.clone(), - trailing_layout, - cursor_position, - renderer, - clipboard, - shell, - viewport, - ); + if let Some(trailing_layout) = trailing_icon_layout { + if cursor_position.is_over(trailing_layout.bounds()) { + let res = trailing_icon.as_widget_mut().on_event( + tree, + event.clone(), + trailing_layout, + cursor_position, + renderer, + clipboard, + shell, + viewport, + ); - if res == event::Status::Captured { - return res; - } + if res == event::Status::Captured { + return res; } } }