From 7e69cb4b18cde29eceb57e3712c0630d279e7984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Wed, 12 Apr 2023 04:20:04 +0200 Subject: [PATCH] Unfocus `TextInput` if it becomes disabled --- native/src/widget/text_input.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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::(); + + // 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 }