]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Added surrenderEvent() calls.
authorPeter Bernard West <pbwest@apache.org>
Fri, 29 Nov 2002 17:11:54 +0000 (17:11 +0000)
committerPeter Bernard West <pbwest@apache.org>
Fri, 29 Nov 2002 17:11:54 +0000 (17:11 +0000)
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
src/org/apache/fop/fo/pagination/FoPageSequenceMaster.java
src/org/apache/fop/fo/pagination/FoSimplePageMaster.java

index 6317b428ba89f131d9b2350de4bf11acb76eb460..87be4c1c9fbaec2868091d6fbc49233e33711430 100644 (file)
@@ -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
index f8816f8f37d605e01a34a0c74a78147d6d5eea4c..59035e35887c82cdc0fc9c419db122a8739ae109 100644 (file)
@@ -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
index de4a4ec81e4c3b85c778e44e5bb58c07bb223598..67f76ad55ac073e5e293b01cb88909233a841a3c 100644 (file)
@@ -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