summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authorPaulb23 <p_batty@hotmail.co.uk>2018-12-18 13:01:15 +0000
committerPaulb23 <p_batty@hotmail.co.uk>2018-12-18 13:12:46 +0000
commitf1c69477020097ae3a64c43fd33f029e5fa146c8 (patch)
treef0643c941fa388344966e75eea774adaf2043953 /scene/gui
parent1039ba9ffb8588e8b0abddaa753d270979147c23 (diff)
Fix Word wrap cache desync causing crash
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/text_edit.cpp6
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;
}