From cd6b0368f6231fd2d34dc273022f04554e5e74d9 Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Mon, 21 Aug 2023 14:36:07 +0300 Subject: [PATCH] [RTL] Fix remove_paragraph crashes. --- scene/gui/rich_text_label.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index 4780ce873cd..f48de85760b 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -3213,17 +3213,19 @@ bool RichTextLabel::remove_paragraph(const int p_paragraph) { if (!had_newline) { current_frame->lines.remove_at(p_paragraph); - if (current_frame->lines.size() == 0) { - current_frame->lines.resize(1); - } + } + + if (current_frame->lines.is_empty()) { + current_frame->lines.resize(1); } if (p_paragraph == 0 && current->subitems.size() > 0) { main->lines[0].from = main; } - int to_line = main->first_invalid_line.load(); - main->first_invalid_line.store(MIN(to_line, p_paragraph)); + main->first_invalid_line.store(MIN(main->first_invalid_line.load(), p_paragraph)); + main->first_resized_line.store(MIN(main->first_resized_line.load(), p_paragraph)); + main->first_invalid_font_line.store(MIN(main->first_invalid_font_line.load(), p_paragraph)); queue_redraw(); return true;