diff options
author | 2023-04-12 04:20:04 +0200 | |
---|---|---|
committer | 2023-04-12 04:20:04 +0200 | |
commit | 7e69cb4b18cde29eceb57e3712c0630d279e7984 (patch) | |
tree | 8f400642214e77ebf7be07b1884ba6469c86041d /native/src | |
parent | 250ba3a7f1b41c7f7ca32b8db40a8c4069ebef77 (diff) | |
download | iced-7e69cb4b18cde29eceb57e3712c0630d279e7984.tar.gz iced-7e69cb4b18cde29eceb57e3712c0630d279e7984.tar.bz2 iced-7e69cb4b18cde29eceb57e3712c0630d279e7984.zip |
Unfocus `TextInput` if it becomes disabled
Diffstat (limited to 'native/src')
-rw-r--r-- | native/src/widget/text_input.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs index 0cbc65db..4c10f5bb 100644 --- a/native/src/widget/text_input.rs +++ b/native/src/widget/text_input.rs @@ -227,6 +227,18 @@ where tree::State::new(State::new()) } + fn diff(&self, tree: &mut Tree) { + let state = tree.state.downcast_mut::<State>(); + + // Unfocus text input if it becomes disabled + if self.on_input.is_none() { + state.last_click = None; + state.is_focused = None; + state.is_pasting = None; + state.is_dragging = false; + } + } + fn width(&self) -> Length { self.width } |