Skip to content

Commit a2e3ceb

Browse files
committed
Improve inner table processing
DEVSIX-1321
1 parent 0130b4f commit a2e3ceb

File tree

3 files changed

+4
-0
lines changed

3 files changed

+4
-0
lines changed

layout/src/main/java/com/itextpdf/layout/renderer/TableRenderer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,6 +1139,9 @@ protected TableRenderer[] split(int row, boolean hasContent, boolean cellWithBig
11391139
splitRenderer.countedColumnWidth = countedColumnWidth;
11401140
splitRenderer.totalWidthForColumns = totalWidthForColumns;
11411141
TableRenderer overflowRenderer = createOverflowRenderer(new Table.RowRange(rowRange.getStartRow() + row, rowRange.getFinishRow()));
1142+
if (0 == row && !(hasContent || cellWithBigRowspanAdded) && 0 == rowRange.getStartRow()) {
1143+
overflowRenderer.isOriginalNonSplitRenderer = isOriginalNonSplitRenderer;
1144+
}
11421145
overflowRenderer.rows = rows.subList(row, rows.size());
11431146
splitRenderer.occupiedArea = occupiedArea;
11441147

layout/src/test/java/com/itextpdf/layout/TableTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2126,6 +2126,7 @@ public void nestedTableLostContent() throws IOException, InterruptedException {
21262126
}
21272127

21282128
@Test
2129+
@LogMessages(messages = {@LogMessage(messageTemplate = LogMessageConstant.ELEMENT_DOES_NOT_FIT_AREA)})
21292130
// When the test was created, an exception was thrown due to min-max width calculations for an inner table.
21302131
// At some point isOriginalNonSplitRenderer was true for a parent renderer but false for the inner table renderer
21312132
public void nestedTableMinMaxWidthException() throws IOException, InterruptedException {

0 commit comments

Comments
 (0)