diff options
Diffstat (limited to 'widget/src/scrollable.rs')
| -rw-r--r-- | widget/src/scrollable.rs | 18 | 
1 files changed, 5 insertions, 13 deletions
diff --git a/widget/src/scrollable.rs b/widget/src/scrollable.rs index 7df7a0e5..0a93584e 100644 --- a/widget/src/scrollable.rs +++ b/widget/src/scrollable.rs @@ -33,7 +33,7 @@ use crate::core::widget::operation::{self, Operation};  use crate::core::widget::tree::{self, Tree};  use crate::core::window;  use crate::core::{ -    self, Background, CaretInfo, Clipboard, Color, Element, Event, Layout, +    self, Background, Clipboard, Color, Element, Event, InputMethod, Layout,      Length, Padding, Pixels, Point, Rectangle, Shell, Size, Theme, Vector,      Widget,  }; @@ -730,7 +730,6 @@ where                  let translation =                      state.translation(self.direction, bounds, content_bounds); -                let children_may_have_caret = shell.caret_info().is_none();                  self.content.as_widget_mut().update(                      &mut tree.children[0],                      event.clone(), @@ -746,17 +745,10 @@ where                      },                  ); -                if children_may_have_caret { -                    if let Some(caret_info) = shell.caret_info() { -                        shell.update_caret_info(Some(CaretInfo { -                            position: Point::new( -                                caret_info.position.x - translation.x, -                                caret_info.position.y - translation.y, -                            ), -                            input_method_allowed: caret_info -                                .input_method_allowed, -                        })); -                    } +                if let InputMethod::Open { position, .. } = +                    shell.input_method_mut() +                { +                    *position = *position + translation;                  }              };  | 
