From cdb9f043958ed213e7c1abfd670213a7c66af9f7 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Mon, 14 Sep 2015 20:57:11 +0200 Subject: [PATCH] Make text insets wide as soon as they contain a display inset This also handles the case of a paragraph ended by a newline. Fixes bug #9757. --- src/TextMetrics.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index fc5e1c5ac5..c21e9676f5 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -443,10 +443,11 @@ bool TextMetrics::redoParagraph(pit_type const pit) breakRow(row, right_margin, pit); setRowHeight(row, pit); row.setChanged(false); - if (row_index || row.endpos() < par.size()) - // If there is more than one row, expand the text to - // the full allowable width. This setting here is needed - // for the computeRowMetrics() below. + if (row_index || row.right_boundary() || row.endpos() < par.size()) + // If there is more than one row or the row has been + // broken by a display inset or a newline, expand the text + // to the full allowable width. This setting here is + // needed for the computeRowMetrics() below. dim_.wid = max_width_; int const max_row_width = max(dim_.wid, row.width()); computeRowMetrics(pit, row, max_row_width);