diff --git a/src/widget/text_input/input.rs b/src/widget/text_input/input.rs index 855fce4b..7077f368 100644 --- a/src/widget/text_input/input.rs +++ b/src/widget/text_input/input.rs @@ -472,7 +472,32 @@ where state.dragging_state = None; } - if state.is_secure != self.is_secure { + if state.is_secure != self.is_secure + || state + .value + .buffer() + .lines + .iter() + .map(|l| l.text()) + .collect::() + != self.value.to_string() + || state + .label + .buffer() + .lines + .iter() + .map(|l| l.text()) + .collect::() + != self.label.unwrap_or_default() + || state + .helper_text + .buffer() + .lines + .iter() + .map(|l| l.text()) + .collect::() + != self.helper_text.unwrap_or_default() + { state.is_secure = self.is_secure; state.dirty = true; }