You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by Shiva <si...@informix.com> on 2000/08/18 03:18:13 UTC
BUG in FormatterToText.cpp Was[ - Re: runtime error R6025]
At 01:04 PM 8/17/00 -0700, Shiva wrote:
>At 03:59 PM 8/17/00 -0400, Martin Sterman wrote:
>>Yes. Rebuilding TestXSLT
>>rebuilds all the dlls.
>
>Worked for me also, tx a lot.
>
>rgds,
>SHiva
However it doesn't work for different XSL & XML Files, where it
gives the error Runtime R6025.
I debugged it found the problem.
The Problem is in FormatterToText.cpp
FormatterToText::~FormatterToText()
{
m_pw.flush();
}
m_pw is a reference to the XercesDOMPrintWriter object created in the
client program.
The Destructor of FormatterToText object is called from destructor of
StylesheetExecutionContextDefault object.
StylesheetExecutionContextDefault::~StylesheetExecutionContextDefault()
{
reset();
}
reset uses a std::for_each traversal to call the dtor of the
FormatterToText Object
Assuming this is the sequence in which the objects are created
{
StylesheetExecutionContextDefault ob1;
XercesDOMPrintWriter ob2;
}
When the block ends, ob2 is destroyed first. So when ob1 is destroyed, ob2
is already
invalid. So ob1's destructor calling flush on ob2 objects creates a problem.
The bug is fixed by removing the line
m_pw.flush();
from the FormatterToText Dtor.
The call is not neccessary because the dtor of the FormatterToText Object
calls flush in it's dtor.
So the call is redundant anyway.
Is there a mechanism to enter the bug & it's fix ?
Are there any developers active on this list ?
rgds,
Shiva
Version
Posted by Shiva <si...@informix.com>.
The current version of Xalan C++ seems to be 0.40.
Is this a pre-release version ?
Is there any schedule/timeframe for the first Release of
Xalan C++.
rgds.
Shiva