summaryrefslogtreecommitdiffstats
path: root/native/src
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-04-12 04:20:04 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-04-12 04:20:04 +0200
commit7e69cb4b18cde29eceb57e3712c0630d279e7984 (patch)
tree8f400642214e77ebf7be07b1884ba6469c86041d /native/src
parent250ba3a7f1b41c7f7ca32b8db40a8c4069ebef77 (diff)
downloadiced-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.rs12
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
}