add a clearDocumentHandler for null document handler case
Change-Id: I661a2fd5381013056c69b379792560aed7121214
This commit is contained in:
@@ -78,6 +78,8 @@ public:
|
|||||||
void setDocumentHandler(
|
void setDocumentHandler(
|
||||||
const css::uno::Reference< css::xml::sax::XFastDocumentHandler >& rxDocHandler );
|
const css::uno::Reference< css::xml::sax::XFastDocumentHandler >& rxDocHandler );
|
||||||
|
|
||||||
|
void clearDocumentHandler();
|
||||||
|
|
||||||
/** Parses the passed SAX input source.
|
/** Parses the passed SAX input source.
|
||||||
@param bCloseStream True = closes the stream in the input source after parsing.
|
@param bCloseStream True = closes the stream in the input source after parsing.
|
||||||
@throws css::xml::sax::SAXException
|
@throws css::xml::sax::SAXException
|
||||||
|
@@ -107,6 +107,13 @@ void FastParser::setDocumentHandler( const Reference< XFastDocumentHandler >& rx
|
|||||||
mxParser->setFastDocumentHandler( rxDocHandler );
|
mxParser->setFastDocumentHandler( rxDocHandler );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FastParser::clearDocumentHandler()
|
||||||
|
{
|
||||||
|
if (!mxParser.is())
|
||||||
|
return;
|
||||||
|
mxParser->setFastDocumentHandler(nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
void FastParser::parseStream( const InputSource& rInputSource, bool bCloseStream )
|
void FastParser::parseStream( const InputSource& rInputSource, bool bCloseStream )
|
||||||
{
|
{
|
||||||
// guard closing the input stream also when exceptions are thrown
|
// guard closing the input stream also when exceptions are thrown
|
||||||
|
@@ -211,7 +211,7 @@ XmlFilterBase::~XmlFilterBase()
|
|||||||
// the following implicit destruction chain of ~XmlFilterBaseImpl, but in that
|
// the following implicit destruction chain of ~XmlFilterBaseImpl, but in that
|
||||||
// case it's member RelationsMap maRelationsMap will be destroyed, but maybe
|
// case it's member RelationsMap maRelationsMap will be destroyed, but maybe
|
||||||
// still be used by ~FragmentHandler -> crash.
|
// still be used by ~FragmentHandler -> crash.
|
||||||
mxImpl->maFastParser.setDocumentHandler( nullptr );
|
mxImpl->maFastParser.clearDocumentHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XmlFilterBase::checkDocumentProperties(const Reference<XDocumentProperties>& xDocProps)
|
void XmlFilterBase::checkDocumentProperties(const Reference<XDocumentProperties>& xDocProps)
|
||||||
|
Reference in New Issue
Block a user