commit 8c7ace4b951d3c44c0efe57e53b142b8391378cf
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Fri Apr 22 12:11:00 2016 +0200
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.
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 810b21a..816f4ba 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();