xmlgraphics-fop-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jerem...@apache.org
Subject svn commit: r365928 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java status.xml test/layoutengine/standard-testcases/block_space-before_space-after_bug38102.xml
Date Wed, 04 Jan 2006 15:52:14 GMT
Author: jeremias
Date: Wed Jan  4 07:52:07 2006
New Revision: 365928

URL: http://svn.apache.org/viewcvs?rev=365928&view=rev
Log:
Bugzilla #38102:
Bugfix: Space was not adjusted if the space was on a nested block. This could lead to content
overflowing the bottom of a page.

I guess I will need to check if other addArea() methods suffer from the same defect.


Added:
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_bug38102.xml
  (with props)
Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
    xmlgraphics/fop/trunk/status.xml

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java?rev=365928&r1=365927&r2=365928&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java Wed Jan
 4 07:52:07 2006
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2005 The Apache Software Foundation.
+ * Copyright 1999-2006 The Apache Software Foundation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-/* $Id: BlockLayoutManager.java,v 1.19 2004/05/26 04:22:39 gmazza Exp $ */
+/* $Id$ */
 
 package org.apache.fop.layoutmgr;
 
@@ -242,6 +242,7 @@
         LayoutManager childLM = null;
         LayoutManager lastLM = null;
         LayoutContext lc = new LayoutContext(0);
+        lc.setSpaceAdjust(layoutContext.getSpaceAdjust());
         // set space after in the LayoutContext for children
         if (layoutContext.getSpaceAfter() > 0) {
             lc.setSpaceAfter(layoutContext.getSpaceAfter());

Modified: xmlgraphics/fop/trunk/status.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/status.xml?rev=365928&r1=365927&r2=365928&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Wed Jan  4 07:52:07 2006
@@ -27,6 +27,10 @@
 
   <changes>
     <release version="FOP Trunk">
+      <action context="Code" dev="JM" type="fix" fixes-bug="38102">
+        Bugfix: Space was not adjusted if the space was on a nested block. This could
+        lead to content overflowing the bottom of a page.
+      </action>
       <action context="Code" dev="JM" type="fix">
         Bugfix: TableCell did not properly report that it generates reference-areas
         which could lead to wrong inherited values for start-indent and end-indent.

Added: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_bug38102.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_bug38102.xml?rev=365928&view=auto
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_bug38102.xml
(added)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_bug38102.xml
Wed Jan  4 07:52:07 2006
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2006 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks if the element list is generated correctly if space-before.optimum
is used
+      instead of space-before directly in the case where a nested block needs to shrink.
+      This tests bug #38102.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="1.5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>
+            <fo:block>line1</fo:block>
+            <fo:block space-before="16pt">line2</fo:block>
+            <fo:block space-before.optimum="16pt">line3</fo:block>
+            <fo:block>line4</fo:block>
+            <fo:block>line5</fo:block>
+          <fo:block>line6</fo:block>
+          </fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <element-list category="breaker">
+      <box w="14400"/>
+      
+      <penalty w="0" p="0"/>
+      
+      <glue w="16000" y="0" z="0"/>
+      <box w="14400"/>
+      
+      <penalty w="0" p="0"/>
+      
+      <glue w="16000" y="0" z="16000"/>
+      <box w="14400"/>
+      
+      <penalty w="0" p="0"/>
+      <box w="14400"/>
+      <penalty w="0" p="0"/>
+      <box w="14400"/>
+      <penalty w="0" p="0"/>
+      <box w="14400"/>
+      
+      <skip>3</skip>
+    </element-list>
+    <eval expected="1" xpath="count(//pageViewport)"/>
+    <eval expected="16000" xpath="//flow/block[1]/block[2]/@space-before"/>
+    <!-- The breaker needs to shrink the optimal 1600mpt to 5600mpt to fit everything
into the one page -->
+    <eval expected="5600" xpath="//flow/block[1]/block[3]/@space-before"/>
+    <true xpath="//flow/@bpd = //regionBody/@bpd"/>
+  </checks>
+</testcase>

Propchange: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_bug38102.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_bug38102.xml
------------------------------------------------------------------------------
    svn:keywords = Id



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org


Mime
View raw message