mirror of https://github.com/godotengine/godot
Fix TextEdit visible line count when setting text
This commit is contained in:
parent
1586c5674b
commit
0a19f89ee9
|
|
@ -410,17 +410,11 @@ void TextEdit::Text::insert(int p_at, const Vector<String> &p_text, const Vector
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextEdit::Text::remove_range(int p_from_line, int p_to_line) {
|
void TextEdit::Text::remove_range(int p_from_line, int p_to_line) {
|
||||||
p_from_line = MAX(p_from_line, 0);
|
|
||||||
ERR_FAIL_INDEX(p_from_line, text.size());
|
|
||||||
|
|
||||||
p_to_line = MIN(p_to_line, text.size());
|
|
||||||
ERR_FAIL_COND(p_to_line < p_from_line);
|
|
||||||
|
|
||||||
if (p_from_line == p_to_line) {
|
if (p_from_line == p_to_line) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = p_from_line; i < p_to_line; i++) {
|
for (int i = p_from_line + 1; i <= p_to_line; i++) {
|
||||||
const Line &text_line = text[i];
|
const Line &text_line = text[i];
|
||||||
if (text_line.hidden) {
|
if (text_line.hidden) {
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -435,9 +429,9 @@ void TextEdit::Text::remove_range(int p_from_line, int p_to_line) {
|
||||||
total_visible_line_count -= text_line.line_count;
|
total_visible_line_count -= text_line.line_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
int diff = (p_to_line - p_from_line);
|
int diff = p_to_line - p_from_line;
|
||||||
for (int i = p_to_line; i < text.size() - 1; i++) {
|
for (int i = p_to_line + 1; i < text.size(); i++) {
|
||||||
text.write[(i - diff) + 1] = text[i + 1];
|
text.write[i - diff] = text[i];
|
||||||
}
|
}
|
||||||
text.resize(text.size() - diff);
|
text.resize(text.size() - diff);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue