diff options
Diffstat (limited to 'src/java/org/apache')
-rw-r--r-- | src/java/org/apache/fop/render/AbstractRenderer.java | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/java/org/apache/fop/render/AbstractRenderer.java b/src/java/org/apache/fop/render/AbstractRenderer.java index 25db6080b..ab017e007 100644 --- a/src/java/org/apache/fop/render/AbstractRenderer.java +++ b/src/java/org/apache/fop/render/AbstractRenderer.java @@ -513,12 +513,14 @@ public abstract class AbstractRenderer */ protected void renderBlock(Block block) { List children = block.getChildAreas(); - if (children == null) { - handleBlockTraits(block); - // simply move position - currentBPPosition += block.getAllocBPD(); - } else if (block instanceof BlockViewport) { - renderBlockViewport((BlockViewport) block, children); + if (block instanceof BlockViewport) { + if (children != null) { + renderBlockViewport((BlockViewport) block, children); + } else { + handleBlockTraits(block); + // simply move position + currentBPPosition += block.getAllocBPD(); + } } else { // save position and offset int saveIP = currentIPPosition; @@ -530,7 +532,9 @@ public abstract class AbstractRenderer handleBlockTraits(block); - renderBlocks(block, children); + if (children != null) { + renderBlocks(block, children); + } // absolute blocks do not effect the layout currentBPPosition = saveBP; @@ -541,7 +545,9 @@ public abstract class AbstractRenderer handleBlockTraits(block); - renderBlocks(block, children); + if (children != null) { + renderBlocks(block, children); + } // stacked and relative blocks effect stacking currentIPPosition = saveIP; |