diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2021-12-12 20:54:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-12 20:54:53 +0100 |
commit | e8011be6f5d39c0cdb2c1751822bdd23de50760a (patch) | |
tree | e70b05938c01665e717c1497e2b1c8275351b6e4 | |
parent | ece3b0dd61092978fce5e2be66fb88ede17033c9 (diff) | |
parent | a361236526d1b694b15e176132830b51c171328a (diff) |
Merge pull request #55729 from cdemirer/fix-script-editor-unexpected-scroll-upon-resize
-rw-r--r-- | scene/gui/text_edit.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index c9060033f2..63e3740a97 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -4275,7 +4275,10 @@ double TextEdit::get_scroll_pos_for_line(int p_line, int p_wrap_index) const { return p_line; } - double new_line_scroll_pos = get_visible_line_count_in_range(0, CLAMP(p_line, 0, text.size() - 1)); + double new_line_scroll_pos = 0.0; + if (p_line > 0) { + new_line_scroll_pos = get_visible_line_count_in_range(0, MIN(p_line - 1, text.size() - 1)); + } new_line_scroll_pos += p_wrap_index; return new_line_scroll_pos; } @@ -4339,7 +4342,7 @@ int TextEdit::get_visible_line_count_in_range(int p_from_line, int p_to_line) co /* Returns the total number of (lines + wrapped - hidden). */ if (!_is_hiding_enabled() && get_line_wrapping_mode() == LineWrappingMode::LINE_WRAPPING_NONE) { - return p_to_line - p_from_line; + return (p_to_line - p_from_line) + 1; } int total_rows = 0; |