From e6105275af57a12a337a70bf5d0b2f72ff568707 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Fri, 6 Mar 2020 11:49:32 +0100 Subject: [PATCH] Consider change tracking in setBeginOfBody() Fixes #11749 --- src/Paragraph.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index afa53f6850..ae2434239c 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -2122,15 +2122,17 @@ void Paragraph::setBeginOfBody() // remove unnecessary getChar() calls pos_type i = 0; pos_type end = size(); - if (i < end && !(isNewline(i) || isEnvSeparator(i))) { + bool prev_char_deleted = false; + if (i < end && (!(isNewline(i) || isEnvSeparator(i)) || isDeleted(i))) { ++i; if (i < end) { char_type previous_char = d->text_[i]; if (!(isNewline(i) || isEnvSeparator(i))) { ++i; - while (i < end && previous_char != ' ') { + while (i < end && (previous_char != ' ' || prev_char_deleted)) { char_type temp = d->text_[i]; - if (isNewline(i) || isEnvSeparator(i)) + prev_char_deleted = isDeleted(i); + if (!isDeleted(i) && (isNewline(i) || isEnvSeparator(i))) break; ++i; previous_char = temp; -- 2.39.2