]> git.lyx.org Git - lyx.git/blobdiff - src/rowpainter.cpp
Partially revert r34995, which broke math output. Not sure why yet....
[lyx.git] / src / rowpainter.cpp
index 61f9caf416790ce456d124b3c520185cee1339dd..bfc3ea9c839f5b35ac21cfa2242667cfd0797fc3 100644 (file)
@@ -680,20 +680,18 @@ void RowPainter::paintLast()
                FontInfo const font = labelFont();
                FontMetrics const & fm = theFontMetrics(font);
                docstring const & str = par_.layout().endlabelstring();
-               double const x = is_rtl ? 
-                       text_metrics_.width() - row_.width() - fm.width(str) : x_;
+               double const x = is_rtl ? x_ - fm.width(str) : x_;
                pi_.pain.text(int(x), yo_, str, font);
                break;
        }
 
        case END_LABEL_NO_LABEL:
-               if (lyxrc.paragraph_markers) {
+               if (lyxrc.paragraph_markers && size_type(pit_ + 1) < pars_.size()) {
                        docstring const s = docstring(1, char_type(0x00B6));
                        FontInfo f = FontInfo();
                        FontMetrics const & fm = theFontMetrics(f);
-                       double const x = x_;
                        f.setColor(Color_paragraphmarker);
-                       pi_.pain.text(int(x), yo_, s, f);
+                       pi_.pain.text(int(x_), yo_, s, f);
                        x_ += fm.width(s);
                }
                break;
@@ -718,7 +716,7 @@ void RowPainter::paintOnlyInsets()
                bool const pi_selected = pi_.selected;
                Cursor const & cur = pi_.base.bv->cursor();
                if (cur.selection() && cur.text() == &text_ 
-                         && cur.anchor().text() == &text_)
+                         && cur.normalAnchor().text() == &text_)
                        pi_.selected = row_.sel_beg <= pos && row_.sel_end > pos; 
                paintInset(inset, pos);
                pi_.selected = pi_selected;
@@ -860,7 +858,7 @@ void RowPainter::paintText()
                        bool const pi_selected = pi_.selected;
                        Cursor const & cur = pi_.base.bv->cursor();
                        if (cur.selection() && cur.text() == &text_ 
-                                 && cur.anchor().text() == &text_)
+                                 && cur.normalAnchor().text() == &text_)
                                pi_.selected = row_.sel_beg <= pos && row_.sel_end > pos; 
                        paintInset(inset, pos);
                        pi_.selected = pi_selected;