]> git.lyx.org Git - lyx.git/blobdiff - src/TextMetrics.cpp
Shortcut for LyX HTML output. (Makes my life easier!)
[lyx.git] / src / TextMetrics.cpp
index 8a62776f39d2bf61758c967a4f6d6df21ef54025..2c74a8c8b6a3a991adb6362d0eeacb38f71a7018 100644 (file)
@@ -447,7 +447,7 @@ bool TextMetrics::redoParagraph(pit_type const pit)
                        - right_margin;
                Font const & font = ii->inset->noFontChange() ?
                        bufferfont : displayFont(pit, ii->pos);
-               MacroContext mc(buffer, parPos);
+               MacroContext mc(&buffer, parPos);
                MetricsInfo mi(bv_, font.fontInfo(), w, mc);
                ii->inset->metrics(mi, dim);
                Dimension const old_dim = pm.insetDimension(ii->inset);
@@ -1445,8 +1445,8 @@ Row const & TextMetrics::getPitAndRowNearY(int & y, pit_type & pit,
                if (yy + rit->height() > y)
                        break;
 
-       if (assert_in_view && yy + rit->height() != y) {
-               if (!up) {
+       if (assert_in_view) {
+               if (!up && yy + rit->height() > y) {
                        if (rit != pm.rows().begin()) {
                                y = yy;
                                --rit;
@@ -1458,11 +1458,11 @@ Row const & TextMetrics::getPitAndRowNearY(int & y, pit_type & pit,
                                --rit;
                                y = yy;
                        }
-               } else  {
+               } else if (up && yy != y) {
                        if (rit != rlast) {
                                y = yy + rit->height();
                                ++rit;
-                       } else if (pit != int(par_metrics_.size())) {
+                       } else if (pit < int(text_->paragraphs().size()) - 1) {
                                ++pit;
                                newParMetricsDown();
                                ParagraphMetrics const & pm2 = par_metrics_[pit];