diff options
author | Andreas L. Delmelle <adelmelle@apache.org> | 2007-09-16 10:45:05 +0000 |
---|---|---|
committer | Andreas L. Delmelle <adelmelle@apache.org> | 2007-09-16 10:45:05 +0000 |
commit | 9a50626fd30bee2f4c62eea748da61d38f163a22 (patch) | |
tree | a226f3cf5ab7e55c605a9a0cf998fe2a08f86ad8 | |
parent | 9af4c03c41750fd7b6d224ec1d27448c10b94cc3 (diff) | |
download | xmlgraphics-fop-9a50626fd30bee2f4c62eea748da61d38f163a22.tar.gz xmlgraphics-fop-9a50626fd30bee2f4c62eea748da61d38f163a22.zip |
Bugzilla 42703: Fixed incorrect white-space removal in retrieved markers.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@576072 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | src/java/org/apache/fop/fo/FOText.java | 3 | ||||
-rw-r--r-- | src/java/org/apache/fop/fo/flow/RetrieveMarker.java | 3 | ||||
-rw-r--r-- | status.xml | 3 | ||||
-rw-r--r-- | test/layoutengine/standard-testcases/marker_white-space-treatment_bug42703.xml | 68 |
4 files changed, 76 insertions, 1 deletions
diff --git a/src/java/org/apache/fop/fo/FOText.java b/src/java/org/apache/fop/fo/FOText.java index 527cdbfc4..8d9111b02 100644 --- a/src/java/org/apache/fop/fo/FOText.java +++ b/src/java/org/apache/fop/fo/FOText.java @@ -158,6 +158,9 @@ public class FOText extends FONode { System.arraycopy(ca, 0, ft.ca, 0, ca.length); } } + prevFOTextThisBlock = null; + nextFOTextThisBlock = null; + ancestorBlock = null; return ft; } diff --git a/src/java/org/apache/fop/fo/flow/RetrieveMarker.java b/src/java/org/apache/fop/fo/flow/RetrieveMarker.java index 316d5411a..3a7328b6b 100644 --- a/src/java/org/apache/fop/fo/flow/RetrieveMarker.java +++ b/src/java/org/apache/fop/fo/flow/RetrieveMarker.java @@ -125,6 +125,7 @@ public class RetrieveMarker extends FObjMixed { getLocator(), pList, newPropertyList); + addChildTo(newChild, (FObj) newParent); if (newChild.getNameId() == FO_TABLE) { Table t = (Table) child; cloneSubtree(t.getColumns().listIterator(), @@ -139,8 +140,8 @@ public class RetrieveMarker extends FObjMixed { } else if (child instanceof FOText) { FOText ft = (FOText) newChild; ft.bind(parentPropertyList); + addChildTo(newChild, (FObj) newParent); } - addChildTo(newChild, (FObj) newParent); if (newChild instanceof FObjMixed) { handleWhiteSpaceFor((FObjMixed) newChild); } diff --git a/status.xml b/status.xml index 3d67b242e..2b7a1f11b 100644 --- a/status.xml +++ b/status.xml @@ -28,6 +28,9 @@ <changes> <release version="FOP Trunk"> + <action context="Code" dev="AD" type="fix" fixes-bug="42703"> + Fixed erroneous white-space removal in retrieved markers. + </action> <action context="Code" dev="AD" type="fix" fixes-bug="43274" due-to="ckohrn.at.tng.de"> Fixed erroneous usage of inherited color-values in SVG. </action> diff --git a/test/layoutengine/standard-testcases/marker_white-space-treatment_bug42703.xml b/test/layoutengine/standard-testcases/marker_white-space-treatment_bug42703.xml new file mode 100644 index 000000000..0eb80f982 --- /dev/null +++ b/test/layoutengine/standard-testcases/marker_white-space-treatment_bug42703.xml @@ -0,0 +1,68 @@ +<?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 42703 + </p> + </info> + <fo> + <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" > + <fo:layout-master-set> + <fo:simple-page-master master-name="all-pages"> + <fo:region-body region-name="xsl-region-body" margin-top="10cm"/> + <fo:region-before region-name="xsl-region-before" extent="29cm" display-align="before" /> + <fo:region-after region-name="xsl-region-after" extent="10cm" display-align="before" /> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="all-pages"> + <fo:static-content flow-name="xsl-region-before"> + <fo:block color="blue" font-size="25pt"> + <fo:block>marker1 content: + <fo:inline color="green"><fo:retrieve-marker + retrieve-class-name="marker1" + retrieve-boundary="page" + /></fo:inline> + </fo:block> + <fo:block>marker1 content: + <fo:inline color="green"><fo:retrieve-marker + retrieve-class-name="marker1" + retrieve-boundary="page" + /></fo:inline> + </fo:block> + </fo:block> + </fo:static-content> + <fo:flow flow-name="xsl-region-body"> + <fo:block font-size="20pt"> + <fo:block margin-top="2cm"> + <fo:marker marker-class-name="marker1"> + <fo:block>Block<fo:inline> with inline element <fo:external-graphic src="../../resources/images/img.svg" content-type="content-type:xml/svg" alignment-baseline="text-after-edge" height="1em" content-height="scale-to-fit"/> and a graphic </fo:inline>.</fo:block> + </fo:marker> + text with the marker + </fo:block> + </fo:block> + </fo:flow> + </fo:page-sequence> + </fo:root> + </fo> + <checks> + <eval expected="4" xpath="count((//regionBefore//inlineparent)[1]/text[1]/space)" /> + <eval expected="4" xpath="count((//regionBefore//inlineparent)[1]/text[2]/space)" /> + </checks> +</testcase> |