]> git.lyx.org Git - lyx.git/blobdiff - src/TextMetrics.cpp
Tweaks.
[lyx.git] / src / TextMetrics.cpp
index a57253ecc9b1567ea64f68eb4072eca542db57fc..c72ec7ae32be85068768ea9ade01cfa42de4975a 100644 (file)
@@ -1116,9 +1116,10 @@ pos_type TextMetrics::getColumnNearX(pit_type const pit,
        bool const rtl = lastrow ? text_->isRTL(buffer, par) : false;
        if (lastrow &&
            ((rtl  &&  left_side && vc == row.pos() && x < tmpx - 5) ||
-            (!rtl && !left_side && vc == end  && x > tmpx + 5)))
-               c = end;
-       else if (vc == row.pos()) {
+            (!rtl && !left_side && vc == end  && x > tmpx + 5))) {
+               if (!par.isNewline(end - 1))
+                       c = end;
+       } else if (vc == row.pos()) {
                c = bidi.vis2log(vc);
                if (bidi.level(c) % 2 == 1)
                        ++c;
@@ -1895,15 +1896,10 @@ void TextMetrics::drawParagraph(PainterInfo & pi, pit_type pit, int x, int y) co
                // Don't paint the row if a full repaint has not been requested
                // and if it has not changed.
                if (!pi.full_repaint && !row_has_changed) {
-                       // Backup full_repaint status because some Inset (InsetTabular)
-                       // requires a full repaint
-                       bool tmp = pi.full_repaint;
                        // Paint only the insets if the text itself is
                        // unchanged.
                        rp.paintOnlyInsets();
                        y += row.descent();
-                       // Restore full_repaint status.
-                       pi.full_repaint = tmp;
                        continue;
                }