From: Juergen Spitzmueller Date: Fri, 6 Mar 2020 10:49:32 +0000 (+0100) Subject: Consider change tracking in setBeginOfBody() X-Git-Tag: lyx-2.4.0dev-acb2ca7b~1151 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=e6105275af57a12a337a70bf5d0b2f72ff568707;p=features.git Consider change tracking in setBeginOfBody() Fixes #11749 --- 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;