1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00

Fix LineEdit and TextEdit composite character backspace delete.

This commit is contained in:
Koyper
2025-04-22 10:02:07 -05:00
parent 9f03bbf908
commit b668f45fd0
7 changed files with 139 additions and 5 deletions

View File

@@ -808,7 +808,14 @@ void CodeEdit::_backspace_internal(int p_caret) {
}
int from_line = to_column > 0 ? to_line : to_line - 1;
int from_column = to_column > 0 ? (to_column - 1) : (get_line(to_line - 1).length());
int from_column = 0;
if (to_column == 0) {
from_column = get_line(to_line - 1).length();
} else if (TextEdit::is_caret_mid_grapheme_enabled() || !TextEdit::is_backspace_deletes_composite_character_enabled()) {
from_column = to_column - 1;
} else {
from_column = TextEdit::get_previous_composite_character_column(to_line, to_column);
}
merge_gutters(from_line, to_line);