]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrow_funcs.C
fix mathed crash
[lyx.git] / src / lyxrow_funcs.C
index 4510855ef9fe5ae54403ab4fc01f2779c546500c..e4cd8c26ddd1cd767e0b52edb5716cb9ee24f8a9 100644 (file)
@@ -24,25 +24,16 @@ using std::min;
 using std::endl;
 
 
-pos_type lastPos(Paragraph const & par, Row const & row)
-{
-       if (par.empty())
-               return 0;
-       pos_type pos = row.endpos() - 1;
-       if (pos == par.size())
-               --pos;
-       return pos;
-}
-
-
 int numberOfSeparators(Paragraph const & par, Row const & row)
 {
-       pos_type const last = lastPos(par, row);
+       pos_type const first = max(row.pos(), par.beginOfBody());
+       pos_type const last = row.endpos() - 1;
        int n = 0;
-       pos_type p = max(row.pos(), par.beginningOfBody());
-       for ( ; p < last; ++p)
+       for (pos_type p = first; p < last; ++p) {
                if (par.isSeparator(p))
                        ++n;
+       }
+
        return n;
 }
 
@@ -51,7 +42,7 @@ int numberOfSeparators(Paragraph const & par, Row const & row)
 // an anonymous namespace there. (Lgb)
 int numberOfHfills(Paragraph const & par, Row const & row)
 {
-       pos_type const last = lastPos(par, row);
+       pos_type const last = row.endpos() - 1;
        pos_type first = row.pos();
 
        // hfill *DO* count at the beginning of paragraphs!
@@ -60,7 +51,7 @@ int numberOfHfills(Paragraph const & par, Row const & row)
                        ++first;
        }
 
-       first = max(first, par.beginningOfBody());
+       first = max(first, par.beginOfBody());
 
        int n = 0;
 
@@ -78,7 +69,7 @@ int numberOfHfills(Paragraph const & par, Row const & row)
 // an anonymous namespace there. (Lgb)
 int numberOfLabelHfills(Paragraph const & par, Row const & row)
 {
-       pos_type last = lastPos(par, row);
+       pos_type last = row.endpos() - 1;
        pos_type first = row.pos();
 
        // hfill *DO* count at the beginning of paragraphs!
@@ -87,7 +78,7 @@ int numberOfLabelHfills(Paragraph const & par, Row const & row)
                        ++first;
        }
 
-       last = min(last, par.beginningOfBody());
+       last = min(last, par.beginOfBody());
        int n = 0;
 
        // last, because the end is ignored
@@ -119,7 +110,7 @@ bool hfillExpansion(Paragraph const & par, Row const & row, pos_type pos)
 
        // in some labels it does not count
        if (par.layout()->margintype != MARGIN_MANUAL
-           && pos < par.beginningOfBody())
+           && pos < par.beginOfBody())
                return false;
 
        // if there is anything between the first char of the row and