1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-12-25 17:59:24 +01:00

Fixed control characters being included in TextInput and TextField

This commit is contained in:
Ell 2023-02-13 14:27:39 +01:00
parent 7b2306f58f
commit aef6f7bd58
2 changed files with 18 additions and 9 deletions

View file

@ -12,9 +12,14 @@ Jump to version:
## 6.2.0 (In Development)
### MLEM
Fixes
- Fixed control characters being included in TextInput
### MLEM.Ui
Fixes
- Fixed images not updating their hidden state properly when the displayed texture changes
- Fixed control characters being included in TextField
## 6.1.0

View file

@ -415,16 +415,20 @@ namespace MLEM.Input {
}
private bool FilterText(ref string text, bool removeMismatching) {
if (removeMismatching) {
var result = new StringBuilder();
foreach (var codePoint in new CodePointSource(text)) {
var character = char.ConvertFromUtf32(codePoint);
if (this.InputRule(this, character))
result.Append(character);
var result = new StringBuilder();
foreach (var codePoint in new CodePointSource(text)) {
var character = char.ConvertFromUtf32(codePoint);
// don't include control characters
if (character.Length == 1 && char.IsControl(character, 0))
continue;
if (this.InputRule(this, character)) {
result.Append(character);
} else if (!removeMismatching) {
// if we don't remove mismatching characters, we just fail
return false;
}
text = result.ToString();
} else if (!this.InputRule(this, text))
return false;
}
text = result.ToString();
return true;
}