From a879bc257519f030322d8d99643ccf3e52c1b62e Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Fri, 22 Apr 2016 12:11:00 +0200 Subject: [PATCH] Fix horizontal scrolling in full-width collapsable insets While a one paragraph large collapsable inset (containing for example a tabular) could be very wide and trigger horizontal scrolling, the code that makes collapsable insets wide when they contain several paragraphs would actually make them narrower in this case. Typical example is a wide tabular and a caption in a table float, where horizontal scrolling would not trigger. --- src/TextMetrics.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 810b21a584..816f4bacd6 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -448,7 +448,7 @@ bool TextMetrics::redoParagraph(pit_type const pit) setRowHeight(row, pit); row.setChanged(false); if (row_index || row.endpos() < par.size() - || (row.right_boundary() && par.inInset().lyxCode() != CELL_CODE)) + || (row.right_boundary() && par.inInset().lyxCode() != CELL_CODE)) { /* 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 @@ -458,7 +458,9 @@ bool TextMetrics::redoParagraph(pit_type const pit) * that, and it triggers when using a caption in a * longtable (see bugs #9945 and #9757). */ - dim_.wid = max_width_; + if (dim_.wid < max_width_) + dim_.wid = max_width_; + } int const max_row_width = max(dim_.wid, row.width()); computeRowMetrics(pit, row, max_row_width); first = row.endpos(); -- 2.39.2