aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremias Maerki <jeremias@apache.org>2005-02-07 11:00:19 +0000
committerJeremias Maerki <jeremias@apache.org>2005-02-07 11:00:19 +0000
commit7cd913f036c369e67e95661467449cd872cb266c (patch)
tree416462e197568edfab1c12f3ca4108dc01745484
parent3d67d750ea97ecc2da9bd76438b71003b176dfbc (diff)
downloadxmlgraphics-fop-7cd913f036c369e67e95661467449cd872cb266c.tar.gz
xmlgraphics-fop-7cd913f036c369e67e95661467449cd872cb266c.zip
Fix for adding absolutely positioned block without children.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198386 13f79535-47bb-0310-9956-ffa450edef68
-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;