[LyX/master] Consider change tracking in setBeginOfBody()
Juergen Spitzmueller
spitz at lyx.org
Fri Mar 6 10:31:03 UTC 2020
commit e6105275af57a12a337a70bf5d0b2f72ff568707
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Fri Mar 6 11:49:32 2020 +0100
Consider change tracking in setBeginOfBody()
Fixes #11749
---
src/Paragraph.cpp | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index afa53f6..ae24342 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;
More information about the lyx-cvs
mailing list