mmidy       02/02/01 13:10:26

  Modified:    java/src/org/apache/xalan/transformer TransformerImpl.java
               java/src/org/apache/xpath VariableStack.java
                        XPathContext.java
  Log:
  Bug 6156: Change variable stack reset to just get a new object. Also make 
sure that the stack of result tree fragments is also cleaned ot during a reset.
  
  Revision  Changes    Path
  1.123     +2 -2      
xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java,v
  retrieving revision 1.122
  retrieving revision 1.123
  diff -u -r1.122 -r1.123
  --- TransformerImpl.java      31 Jan 2002 16:08:23 -0000      1.122
  +++ TransformerImpl.java      1 Feb 2002 21:10:25 -0000       1.123
  @@ -461,9 +461,9 @@
         m_stackGuard = new StackGuard();
   
         m_xcontext.reset();
  -      m_xcontext.getVarStack().clearLocalSlots(0, 
m_xcontext.getVarStack().size());
  -      resetUserParameters();
  +      
         m_xcontext.getVarStack().reset();
  +      resetUserParameters();
         
   
         int n = m_currentTemplateElements.length;
  
  
  
  1.38      +1 -0      xml-xalan/java/src/org/apache/xpath/VariableStack.java
  
  Index: VariableStack.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/VariableStack.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- VariableStack.java        18 Oct 2001 21:24:44 -0000      1.37
  +++ VariableStack.java        1 Feb 2002 21:10:25 -0000       1.38
  @@ -171,6 +171,7 @@
       // to look one under without having to check if we're at zero.
       // (As long as the caller doesn't screw up link/unlink.)
       _links[_linksTop++] = 0;
  +    _sf = new XObject[_sf.length]; 
     }
   
     /**
  
  
  
  1.33      +4 -2      xml-xalan/java/src/org/apache/xpath/XPathContext.java
  
  Index: XPathContext.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/XPathContext.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- XPathContext.java 23 Jan 2002 22:53:47 -0000      1.32
  +++ XPathContext.java 1 Feb 2002 21:10:25 -0000       1.33
  @@ -369,6 +369,8 @@
        if(m_rtfdtm_stack!=null)
                 for (java.util.Enumeration e = m_rtfdtm_stack.elements() ; 
e.hasMoreElements() ;) 
                        m_dtmManager.release((DTM)e.nextElement(), true);
  +    m_rtfdtm_stack=null; // drop our references too
  +    m_which_rtfdtm=-1;
        
       m_dtmManager = DTMManager.newInstance(
                      
org.apache.xpath.objects.XMLStringFactoryImpl.getFactory());
  @@ -1210,7 +1212,7 @@
        {
                m_rtfdtm_stack=new Vector();
                
rtfdtm=(SAX2RTFDTM)m_dtmManager.getDTM(null,true,null,false,false);
  -             m_rtfdtm_stack.add(rtfdtm);
  +             m_rtfdtm_stack.addElement(rtfdtm);
                ++m_which_rtfdtm;
        }
        else
  @@ -1229,7 +1231,7 @@
                        else
                        {
                                
rtfdtm=(SAX2RTFDTM)m_dtmManager.getDTM(null,true,null,false,false);
  -                             m_rtfdtm_stack.add(rtfdtm);             
  +                             m_rtfdtm_stack.addElement(rtfdtm);              
                        }
                }
        }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to