]> git.lyx.org Git - features.git/commitdiff
Consider change tracking in setBeginOfBody()
authorJuergen Spitzmueller <spitz@lyx.org>
Fri, 6 Mar 2020 10:49:32 +0000 (11:49 +0100)
committerJuergen Spitzmueller <spitz@lyx.org>
Fri, 6 Mar 2020 10:49:32 +0000 (11:49 +0100)
Fixes #11749

src/Paragraph.cpp

index afa53f6850516963380627367f167e27bb2e3552..ae2434239c1a537a6ae3f92b26565582770bc285 100644 (file)
@@ -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;