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]