]> git.lyx.org Git - lyx.git/blobdiff - src/TextMetrics.cpp
Revert "Fixup 0cbe0d7a: avoid double redraw when completion is finished"
[lyx.git] / src / TextMetrics.cpp
index 53b683861f0d14d1dc9f21f179eb14ee81c676fd..2dea92bbff3befd3102eb48a02b61572710830c8 100644 (file)
@@ -979,7 +979,7 @@ class flexible_const_iterator {
 public:
 
        //
-       flexible_const_iterator operator++() {
+       flexible_const_iterator operator++() {
                if (pile_.empty())
                        ++cit_;
                else
@@ -1059,7 +1059,7 @@ void cleanupRow(Row & row, bool at_end)
        if (!at_end && !row.flushed())
                row.back().rtrim();
        // boundary exists when there was no space at the end of row
-       row.right_boundary(!at_end && row.back().endpos == row.endpos());
+       row.end_boundary(!at_end && row.back().endpos == row.endpos());
        // make sure that the RTL elements are in reverse ordering
        row.reverseRTL();
 }
@@ -1131,7 +1131,9 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
                rb.push_back(elt);
                rb.finalizeLast();
                if (rb.width() > width) {
-                       LATTEST(tail.empty());
+                       // Keep the tail for later; this ought to be rare, but play safe.
+                       if (!tail.empty())
+                               fcit.put(tail);
                        // if the row is too large, try to cut at last separator.
                        tail = rb.shortenIfNeeded(width, next_width);
                }
@@ -1368,7 +1370,7 @@ pos_type TextMetrics::getPosNearX(Row const & row, int & x,
                              || inset->lyxCode() == SEPARATOR_CODE))
                        pos = row.back().pos;
                else
-                       boundary = row.right_boundary();
+                       boundary = row.end_boundary();
        }
 
        x += xo - offset;