]> git.lyx.org Git - lyx.git/commitdiff
* dociterator.C (forwardPar): remove debug code.
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 10 Nov 2006 23:31:21 +0000 (23:31 +0000)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 10 Nov 2006 23:31:21 +0000 (23:31 +0000)
(forwardInset): speed up (like forwardPar).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15848 a592a061-630c-0410-9148-cb99ea01b6c8

src/dociterator.C

index 47e7526e5e00d0af03eaa4357c73f84ac0bd3f4d..4d93aa7a0177228266c36fc14b7445103b7ba74f 100644 (file)
@@ -414,10 +414,6 @@ void DocIterator::forwardPar()
 {
        forwardPos();
 
-#if 0
-       DocIterator cmp(*this);
-#endif
-
        while (!empty() && (!inTexted() || pos() != 0)) {
                if (inTexted()) {
                        pos_type const lastp = lastpos();
@@ -428,12 +424,6 @@ void DocIterator::forwardPar()
                }
                forwardPos();
        }
-
-#if 0
-       while (!cmp.empty() && (!cmp.inTexted() || cmp.pos() != 0))
-               cmp.forwardPos();
-       BOOST_ASSERT(cmp == *this);
-#endif
 }
 
 
@@ -448,8 +438,19 @@ void DocIterator::forwardChar()
 void DocIterator::forwardInset()
 {
        forwardPos();
-       while (!empty() && (pos() == lastpos() || nextInset() == 0))
+
+       while (!empty() && !nextInset()) {
+               if (inTexted()) {
+                       pos_type const lastp = lastpos();
+                       Paragraph const & par = paragraph();
+                       pos_type & pos = top().pos();
+                       while (pos < lastp && !par.isInset(pos))
+                               ++pos;
+                       if (pos < lastp)
+                               break;
+               }
                forwardPos();
+       }
 }