]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Bugzilla 42705: Fixed swallowing PCDATA during white-space removal in retrieved markers.
authorAndreas L. Delmelle <adelmelle@apache.org>
Sun, 16 Sep 2007 12:52:28 +0000 (12:52 +0000)
committerAndreas L. Delmelle <adelmelle@apache.org>
Sun, 16 Sep 2007 12:52:28 +0000 (12:52 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@576095 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fo/FOText.java
src/java/org/apache/fop/fo/flow/RetrieveMarker.java
status.xml
test/layoutengine/standard-testcases/marker_text_bug42705.xml [new file with mode: 0644]

index 8d9111b02ed5b70a7247e074ef6def138a04f510..6d1ac417fc3b1e87a977f472d6f86a30edb2cc28 100644 (file)
@@ -158,9 +158,9 @@ public class FOText extends FONode {
                 System.arraycopy(ca, 0, ft.ca, 0, ca.length);
             }
         }
-        prevFOTextThisBlock = null;
-        nextFOTextThisBlock = null;
-        ancestorBlock = null;
+        ft.prevFOTextThisBlock = null;
+        ft.nextFOTextThisBlock = null;
+        ft.ancestorBlock = null;
         return ft;
     }
 
index 3a7328b6b19c9ed6be7f4e2287439cff77058162..c63e7baa9dbf513eb4571e69f13cea7323772b84 100644 (file)
@@ -181,6 +181,7 @@ public class RetrieveMarker extends FObjMixed {
         }
         cloneSubtree(marker.getChildNodes(), this, 
                         marker, propertyList);
+        handleWhiteSpaceFor(this);
     }
 
     /**
index 2b7a1f11bb5518f0ed81405211d1d09f492f8b72..645ca66c1984ea5a2834d5e5e9384dde1ae8ff99 100644 (file)
 
   <changes>
     <release version="FOP Trunk">
+      <action context="Code" dev="AD" type="fix" fixes-bug="42705">
+        Fixed swallowing PCDATA in text-node children of
+        retrieved markers.
+      </action>
       <action context="Code" dev="AD" type="fix" fixes-bug="42703">
         Fixed erroneous white-space removal in retrieved markers.
       </action>
diff --git a/test/layoutengine/standard-testcases/marker_text_bug42705.xml b/test/layoutengine/standard-testcases/marker_text_bug42705.xml
new file mode 100644 (file)
index 0000000..67161e0
--- /dev/null
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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>
+      Test accompanying bugfix for Bugzilla 42705
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format'>
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name='Page' page-height='15.5cm' page-width='20cm' margin='1.0cm' >
+          <fo:region-body margin-top="3cm" background-color='lightyellow'/>
+          <fo:region-before extent='3cm'  region-name='RB' background-color='lightseagreen'/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      
+      <fo:page-sequence master-reference='Page' >
+        <fo:static-content flow-name="RB">
+          <fo:block>
+            Marker1 :
+            <fo:retrieve-marker retrieve-class-name="M"/>
+          </fo:block>
+        </fo:static-content>
+        <fo:flow flow-name='xsl-region-body'>
+          <fo:block>Beginning of Page-sequence</fo:block>
+          <fo:block>
+            <fo:marker marker-class-name="M">
+            AAAA <fo:inline font-size="8pt">123456789</fo:inline>  - numbers with a lower font-size : Missing first four letter of marker 'AAAA' ????
+            </fo:marker>
+            Text with marker A
+          </fo:block>
+          <fo:block>End of Page-sequence</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="AAAA" xpath="(//regionBefore//text)[2]/word[1]" />
+  </checks>
+</testcase>