From: Jean-Marc Lasgouttes Date: Fri, 6 Jan 2023 15:02:29 +0000 (+0100) Subject: Row breaking: keep unused tail for later (instead of assertion) X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=9dd716da3ace5f81f9fc16b2cee64119f0db65e8;p=features.git Row breaking: keep unused tail for later (instead of assertion) Instead of asserting when there are unprocessed row elements (which, as I understand it, should almost never happen), play safe and keep them for later processing. Related to bug #12617. --- diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index f58efa794b..2dea92bbff 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -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); }