]> git.lyx.org Git - lyx.git/blobdiff - src/Cursor.cpp
es.po: fix a typo introduced by last commit
[lyx.git] / src / Cursor.cpp
index cd796458de12c4f551aea72f5e4d2d4094488082..e9bdf895b7835f18447fa47979552aa705c897b3 100644 (file)
@@ -548,6 +548,16 @@ int Cursor::currentMode()
 }
 
 
+bool Cursor::inCoordCache() const
+{
+       CoordCache::Insets const & icache = bv_->coordCache().getInsets();
+       for (size_t i = 0 ; i < depth() ; ++i)
+               if (!icache.has(&(*this)[i].inset()))
+                       return false;
+       return true;
+}
+
+
 void Cursor::getPos(int & x, int & y) const
 {
        Point p = bv().getPos(*this);
@@ -734,10 +744,7 @@ bool Cursor::posVisRight(bool skip_inset)
 
        }
 
-       bool moved = (new_cur.pos() != pos()
-                                 || new_cur.pit() != pit()
-                                 || new_cur.boundary() != boundary()
-                                 || &new_cur.inset() != &inset());
+       bool const moved = new_cur != *this || new_cur.boundary() != boundary();
 
        if (moved) {
                LYXERR(Debug::RTL, "moving to: " << new_cur.pos()
@@ -833,9 +840,7 @@ bool Cursor::posVisLeft(bool skip_inset)
 
        }
 
-       bool moved = (new_cur.pos() != pos()
-                                 || new_cur.pit() != pit()
-                                 || new_cur.boundary() != boundary());
+       bool const moved = new_cur != *this || new_cur.boundary() != boundary();
 
        if (moved) {
                LYXERR(Debug::RTL, "moving to: " << new_cur.pos()
@@ -1293,7 +1298,7 @@ void Cursor::plainInsert(MathAtom const & t)
        ++pos();
        inset().setBuffer(bv_->buffer());
        inset().initView();
-       forceBufferUpdate();
+       checkBufferStructure();
 }
 
 
@@ -1942,6 +1947,8 @@ bool Cursor::upDownInText(bool up, bool & updateNeeded)
                        // Make sure that cur gets back whatever happened to dummy (Lgb)
                        operator=(dummy);
                }
+               if (inTexted() && pos() && paragraph().isEnvSeparator(pos() - 1))
+                       posBackward();
        } else {
                // if there is a selection, we stay out of any inset,
                // and just jump to the right position: