From f0e1597b5c251676fc027de49cf751eb56bf6dbf Mon Sep 17 00:00:00 2001 From: bunnie Date: Wed, 30 Nov 2022 15:15:56 +0800 Subject: [PATCH] don't restore default text if field is cleared with backspace even if persist is set, if the field has been edited, don't restore the default text. otherwise, the default text re-appears if you backspace to an empty string. --- services/gam/src/modal/textentry.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/gam/src/modal/textentry.rs b/services/gam/src/modal/textentry.rs index c919edb75..462297376 100644 --- a/services/gam/src/modal/textentry.rs +++ b/services/gam/src/modal/textentry.rs @@ -490,11 +490,14 @@ impl ActionApi for TextEntry { } } _ => { // text entry - self.keys_hit[self.selected_field as usize] = true; - if payload.placeholder_persist && payload.placeholder.is_some() && payload.content.len() == 0 { + if !self.keys_hit[self.selected_field as usize] + && payload.placeholder_persist + && payload.placeholder.is_some() + && payload.content.len() == 0 { // copy the placeholder into the content string before processing the backspace payload.content.append(payload.placeholder.unwrap().to_str()).ok(); } + self.keys_hit[self.selected_field as usize] = true; #[cfg(feature="tts")] { let xns = xous_names::XousNames::new().unwrap();