jeremias    2005/02/07 03:00:19

  Modified:    src/java/org/apache/fop/render AbstractRenderer.java
  Log:
  Fix for adding absolutely positioned block without children.
  
  Revision  Changes    Path
  1.42      +14 -8     
xml-fop/src/java/org/apache/fop/render/AbstractRenderer.java
  
  Index: AbstractRenderer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/render/AbstractRenderer.java,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- AbstractRenderer.java     17 Jan 2005 10:38:02 -0000      1.41
  +++ AbstractRenderer.java     7 Feb 2005 11:00:19 -0000       1.42
  @@ -513,12 +513,14 @@
        */
       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 @@
   
                   handleBlockTraits(block);
   
  -                renderBlocks(block, children);
  +                if (children != null) {
  +                    renderBlocks(block, children);
  +                }
   
                   // absolute blocks do not effect the layout
                   currentBPPosition = saveBP;
  @@ -541,7 +545,9 @@
   
                   handleBlockTraits(block);
   
  -                renderBlocks(block, children);
  +                if (children != null) {
  +                    renderBlocks(block, children);
  +                }
   
                   // stacked and relative blocks effect stacking
                   currentIPPosition = saveIP;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to