]> git.lyx.org Git - lyx.git/blobdiff - src/DocIterator.cpp
Account for old versions of Pygments
[lyx.git] / src / DocIterator.cpp
index fdb61876d6ca3975e9b0b417f1dea9804fb86bd8..fe1250ff335bf5d91330d12c79ca7bf5c60f241a 100644 (file)
@@ -318,6 +318,24 @@ Inset * DocIterator::innerInsetOfType(int code) const
 }
 
 
+bool DocIterator::posBackward()
+{
+       if (pos() == 0)
+               return false;
+       --pos();
+       return true;
+}
+
+
+bool DocIterator::posForward()
+{
+       if (pos() == lastpos())
+               return false;
+       ++pos();
+       return true;
+}
+
+
 // This duplicates code above, but is in the critical path.
 // So please think twice before adding stuff
 void DocIterator::forwardPos()
@@ -544,7 +562,7 @@ bool DocIterator::fixIfBroken()
        size_t n = slices_.size();
        for (; i != n; ++i) {
                CursorSlice & cs = slices_[i];
-               if (&cs.inset() != inset) {
+               if (&cs.inset() != inset || cs.nargs() == 0) {
                        // the whole slice is wrong, chop off this as well
                        --i;
                        LYXERR(Debug::DEBUG, "fixIfBroken(): inset changed");