Do not expand tabular cells to maxwidth on line break

Fixes part of #11182.
This commit is contained in:
Juergen Spitzmueller 2018-07-06 16:15:13 +02:00
parent 34c04ebce6
commit fa9675965a
2 changed files with 4 additions and 8 deletions

View File

@ -469,16 +469,13 @@ bool TextMetrics::redoParagraph(pit_type const pit)
need_new_row = breakRow(row, right_margin);
setRowHeight(row);
row.changed(true);
if (row_index || row.endpos() < par.size()
|| (row.right_boundary() && par.inInset().lyxCode() != CELL_CODE)) {
if ((row_index || row.endpos() < par.size() || 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
* needed for the computeRowMetrics() below. In the case
* of a display inset, we do nothing when inside a table
* cell, because the tabular code is not prepared for
* that, and it triggers when using a caption in a
* longtable (see bugs #9945 and #9757).
* needed for the computeRowMetrics() below.
* We do nothing when inside a table cell.
*/
if (dim_.wid < max_width_)
dim_.wid = max_width_;

View File

@ -3845,7 +3845,6 @@ void InsetTableCell::metrics(MetricsInfo & mi, Dimension & dim) const
// We tell metrics here not to expand on multiple pars
// This is the difference to InsetText::Metrics
// FIXME: pars with newlines are still too wide!
if (hasFixedWidth())
tm.metrics(mi, dim, mi.base.textwidth, false);
else