fix: text input attempting to subtract with overflow
This commit is contained in:
parent
0607161276
commit
9ce3a51728
1 changed files with 22 additions and 20 deletions
|
|
@ -729,28 +729,30 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
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 tree.children.len() > 0 {
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue