From 00988a93d33e694bd6caf478bcff7daf92c4ba49 Mon Sep 17 00:00:00 2001 From: Adrian Cumiskey Date: Fri, 26 Oct 2007 18:17:00 +0000 Subject: [PATCH] Applying [PATCH] 43587 - Multiple ps:comment-? within fo:declarations causes ClassCastException git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@588733 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/fop/render/ps/PSRenderer.java | 12 ++++++-- .../standard-testcases/ps-extension_2.xml | 28 ++++++++++++------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/src/java/org/apache/fop/render/ps/PSRenderer.java b/src/java/org/apache/fop/render/ps/PSRenderer.java index 9e224a9b2..3befb0738 100644 --- a/src/java/org/apache/fop/render/ps/PSRenderer.java +++ b/src/java/org/apache/fop/render/ps/PSRenderer.java @@ -830,6 +830,7 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda PSExtensionAttachment comment = (PSExtensionAttachment)iter.next(); gen.commentln("%" + comment.getContent()); } + footerComments.clear(); } gen.writeDSCComment(DSCConstants.PAGES, new Integer(this.currentPageNumber)); gen.getResourceTracker().writeResources(false, gen); @@ -840,7 +841,12 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda IOUtils.closeQuietly(gen.getOutputStream()); rewritePostScriptFile(); } - this.pageDeviceDictionary.clear(); + if (footerComments != null) { + headerComments.clear(); + } + if (pageDeviceDictionary != null) { + pageDeviceDictionary.clear(); + } } /** @@ -910,12 +916,12 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda } } else if (attachment instanceof PSCommentBefore) { if (headerComments == null) { - headerComments = new java.util.TreeSet(); + headerComments = new java.util.ArrayList(); } headerComments.add(attachment); } else if (attachment instanceof PSCommentAfter) { if (footerComments == null) { - footerComments = new java.util.TreeSet(); + footerComments = new java.util.ArrayList(); } footerComments.add(attachment); } diff --git a/test/layoutengine/standard-testcases/ps-extension_2.xml b/test/layoutengine/standard-testcases/ps-extension_2.xml index 846a96db5..036c19fd6 100644 --- a/test/layoutengine/standard-testcases/ps-extension_2.xml +++ b/test/layoutengine/standard-testcases/ps-extension_2.xml @@ -34,8 +34,10 @@ > ]]> - A4a before page - A4a after page + A4a before page 1 + A4a after page 1 + A4a before page 2 + A4a after page 2 @@ -46,8 +48,10 @@ > ]]> - header comment - footer comment + header comment 1 + footer comment 1 + header comment 2 + footer comment 2 @@ -64,20 +68,24 @@ - + - - + + + + - + - - + + + + -- 2.39.5