From 2c133b3694dff620a6d37d43bf1de57abd79222f Mon Sep 17 00:00:00 2001 From: Peter Bernard West Date: Fri, 29 Nov 2002 17:11:54 +0000 Subject: [PATCH] Added surrenderEvent() calls. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP_0-20-0_Alt-Design@195667 13f79535-47bb-0310-9956-ffa450edef68 --- src/org/apache/fop/fo/pagination/FoLayoutMasterSet.java | 4 +--- src/org/apache/fop/fo/pagination/FoPageSequenceMaster.java | 2 ++ src/org/apache/fop/fo/pagination/FoSimplePageMaster.java | 5 +++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/org/apache/fop/fo/pagination/FoLayoutMasterSet.java b/src/org/apache/fop/fo/pagination/FoLayoutMasterSet.java index 6317b428b..87be4c1c9 100644 --- a/src/org/apache/fop/fo/pagination/FoLayoutMasterSet.java +++ b/src/org/apache/fop/fo/pagination/FoLayoutMasterSet.java @@ -108,9 +108,6 @@ public class FoLayoutMasterSet extends FONode { setupPageMasters(event); // No need to clean up the build tree, because the whole subtree // will be deleted. - // This is problematical: while Node is obliged to belong to a Tree, - // any remaining references to elements of the subtree will keep the - // whole subtree from being GCed. makeSparsePropsSet(); } @@ -176,6 +173,7 @@ public class FoLayoutMasterSet extends FONode { ("Aargh! expectStartElement(events, list)"); // Flush the master event xmlevents.getEndElement(ev); + pool.surrenderEvent(ev); } while (true); } catch (NoSuchElementException e) { // Unexpected end of file diff --git a/src/org/apache/fop/fo/pagination/FoPageSequenceMaster.java b/src/org/apache/fop/fo/pagination/FoPageSequenceMaster.java index f8816f8f3..59035e358 100644 --- a/src/org/apache/fop/fo/pagination/FoPageSequenceMaster.java +++ b/src/org/apache/fop/fo/pagination/FoPageSequenceMaster.java @@ -215,6 +215,7 @@ public class FoPageSequenceMaster extends FONode { throw new FOPException ("Aargh! expectStartElement(events, list)"); xmlevents.getEndElement(ev); + pool.surrenderEvent(ev); } while (true); } catch (NoSuchElementException e) { throw new FOPException("Unexpected EOF in page-sequence-master."); @@ -304,6 +305,7 @@ public class FoPageSequenceMaster extends FONode { // ("Found conditional-page-master-reference"); new FoConditionalPageMasterReference(foTree, this, ev); this.xmlevents.getEndElement(ev); + this.pool.surrenderEvent(ev); } while (true); } catch (NoSuchElementException e) { // End of file reached diff --git a/src/org/apache/fop/fo/pagination/FoSimplePageMaster.java b/src/org/apache/fop/fo/pagination/FoSimplePageMaster.java index de4a4ec81..67f76ad55 100644 --- a/src/org/apache/fop/fo/pagination/FoSimplePageMaster.java +++ b/src/org/apache/fop/fo/pagination/FoSimplePageMaster.java @@ -104,6 +104,7 @@ public class FoSimplePageMaster extends FONode { // Process region-body regionBody = new FoRegionBody(foTree, this, regionEv); xmlevents.getEndElement(regionEv); + pool.surrenderEvent(regionEv); // Remaining regions are optional if ((regionEv = xmlevents.expectStartElement @@ -112,6 +113,7 @@ public class FoSimplePageMaster extends FONode { { regionBefore = new FoRegionBefore(foTree, this, regionEv); xmlevents.getEndElement(regionEv); + pool.surrenderEvent(regionEv); } if ((regionEv = xmlevents.expectStartElement @@ -120,6 +122,7 @@ public class FoSimplePageMaster extends FONode { { regionAfter = new FoRegionAfter(foTree, this, regionEv); xmlevents.getEndElement(regionEv); + pool.surrenderEvent(regionEv); } if ((regionEv = xmlevents.expectStartElement @@ -128,6 +131,7 @@ public class FoSimplePageMaster extends FONode { { regionStart = new FoRegionStart(foTree, this, regionEv); xmlevents.getEndElement(regionEv); + pool.surrenderEvent(regionEv); } if ((regionEv = xmlevents.expectStartElement @@ -136,6 +140,7 @@ public class FoSimplePageMaster extends FONode { { regionEnd = new FoRegionEnd(foTree, this, regionEv); xmlevents.getEndElement(regionEv); + pool.surrenderEvent(regionEv); } // Clean up the build environment -- 2.39.5