aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/org/apache')
-rw-r--r--src/java/org/apache/fop/render/AbstractRenderer.java22
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;