diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2018-12-18 14:45:12 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-18 14:45:12 +0100 |
commit | 402e4b817e26d3d65f97521f4c2b5ab01df1b00c (patch) | |
tree | f0643c941fa388344966e75eea774adaf2043953 /scene/gui | |
parent | 1039ba9ffb8588e8b0abddaa753d270979147c23 (diff) | |
parent | f1c69477020097ae3a64c43fd33f029e5fa146c8 (diff) |
Merge pull request #24447 from Paulb23/text_edit_wrap_crash
Fix Word wrap cache desync causing crash
Diffstat (limited to 'scene/gui')
-rw-r--r-- | scene/gui/text_edit.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index fef29b7e6c..b1849b7e69 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -846,9 +846,9 @@ void TextEdit::_notification(int p_what) { bool underlined = false; + Vector<String> wrap_rows = get_wrap_rows_text(line); int line_wrap_amount = times_line_wraps(line); int last_wrap_column = 0; - Vector<String> wrap_rows = get_wrap_rows_text(line); for (int line_wrap_index = 0; line_wrap_index < line_wrap_amount + 1; line_wrap_index++) { if (line_wrap_index != 0) { @@ -3816,6 +3816,10 @@ Vector<String> TextEdit::get_wrap_rows_text(int p_line) const { // line ends before hit wrap_at; add this word to the substring wrap_substring += word_str; lines.push_back(wrap_substring); + + // update cache + text.set_line_wrap_amount(p_line, lines.size() - 1); + return lines; } |