]> git.lyx.org Git - lyx.git/blobdiff - src/Cursor.cpp
Remove boost/format support
[lyx.git] / src / Cursor.cpp
index 8d94ddf5de7e84bc04b9f199b90e59d782287a8b..1f84f45feaace06c37a8156e9c4fa35b7c829537 100644 (file)
@@ -1046,8 +1046,11 @@ CursorSlice Cursor::normalAnchor() const
        // LASSERT: There have been several bugs around this code, that seem
        // to involve failures to reset the anchor. We can at least not crash
        // in release mode by resetting it ourselves.
-       LASSERT(anchor_.depth() >= depth(),
-               const_cast<DocIterator &>(anchor_) = *this);
+       if (anchor_.depth() < depth()) {
+               LYXERR0("Cursor is deeper than anchor. PLEASE REPORT.\nCursor is"
+                       << *this);
+               const_cast<DocIterator &>(anchor_) = *this;
+       }
 
        CursorSlice normal = anchor_[depth() - 1];
        if (depth() < anchor_.depth() && top() <= normal) {
@@ -1058,12 +1061,6 @@ CursorSlice Cursor::normalAnchor() const
 }
 
 
-DocIterator & Cursor::realAnchor()
-{
-       return anchor_;
-}
-
-
 CursorSlice Cursor::selBegin() const
 {
        if (!selection())
@@ -2429,6 +2426,12 @@ void Cursor::checkBufferStructure()
                // In case the master has no gui associated with it,
                // the TocItem is not updated (part of bug 5699).
                buffer()->tocBackend().updateItem(*this);
+
+       // If the last tracked change of the paragraph has just been
+       // deleted, then we need to recompute the buffer flag
+       // tracked_changes_present_.
+       if (inTexted() && paragraph().isChangeUpdateRequired())
+               disp_.forceChangesUpdate();
 }