From f9f4dabf0908cef4bf700ea945e07b4f0f997b0b Mon Sep 17 00:00:00 2001 From: Karen Lease Date: Sun, 14 Oct 2001 20:42:04 +0000 Subject: [PATCH] Don't call layout() on children when doing layout() on a table-cell which is already completely laid out (case of split rows) git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194509 13f79535-47bb-0310-9956-ffa450edef68 --- src/org/apache/fop/fo/flow/TableCell.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/org/apache/fop/fo/flow/TableCell.java b/src/org/apache/fop/fo/flow/TableCell.java index 24d5d12d4..4c5fe1c1d 100644 --- a/src/org/apache/fop/fo/flow/TableCell.java +++ b/src/org/apache/fop/fo/flow/TableCell.java @@ -82,6 +82,11 @@ public class TableCell extends FObj { // boolean setup = false; boolean bSepBorders = true; + + /** + * Set to true if all content completely laid out. + */ + boolean bDone=false; /** * Border separation value in the block-progression dimension. @@ -209,6 +214,7 @@ public class TableCell extends FObj { area.getIDReferences().createID(id); this.marker = 0; + this.bDone=false; } /* @@ -250,7 +256,7 @@ public class TableCell extends FObj { cellArea.setTableCellXOffset(startOffset); int numChildren = this.children.size(); - for (int i = this.marker; i < numChildren; i++) { + for (int i = this.marker; bDone==false && i < numChildren; i++) { FObj fo = (FObj)children.elementAt(i); fo.setIsInTableCell(); fo.forceWidth(width); // ??? @@ -275,6 +281,7 @@ public class TableCell extends FObj { area.setMaxHeight(area.getMaxHeight() - spaceLeft + this.cellArea.getMaxHeight()); } + this.bDone=true; cellArea.end(); area.addChild(cellArea); @@ -457,6 +464,6 @@ public class TableCell extends FObj { this.borderHeight = (borderBefore + borderAfter) / 2; } } - + } -- 2.39.5