svx/source/xml/xmlexport.cxx | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-)
New commits: commit 3dd9fb3076511faa94363be56d416fdfa8249c30 Author: Noel <noelgran...@gmail.com> AuthorDate: Fri Oct 16 13:24:34 2020 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Fri Oct 16 17:45:17 2020 +0200 svx: use the fastparser API when possible part of the process of making SvXMLImport fastparser-only Change-Id: I30aa8a429fabf54e39cf401419f627cc13ed719c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104427 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/svx/source/xml/xmlexport.cxx b/svx/source/xml/xmlexport.cxx index 5f179873b0ca..e36f6f5191b7 100644 --- a/svx/source/xml/xmlexport.cxx +++ b/svx/source/xml/xmlexport.cxx @@ -185,9 +185,6 @@ bool SvxDrawingLayerImport( SdrModel* pModel, const uno::Reference<io::XInputStr xml::sax::InputSource aParserInput; aParserInput.aInputStream = xInputStream; - // get parser - Reference< xml::sax::XParser > xParser = xml::sax::Parser::create( xContext ); - // prepare filter arguments Sequence<Any> aFilterArgs( 2 ); Any *pArgs = aFilterArgs.getArray(); @@ -195,26 +192,20 @@ bool SvxDrawingLayerImport( SdrModel* pModel, const uno::Reference<io::XInputStr *pArgs++ <<= xObjectResolver; // get filter - Reference< xml::sax::XDocumentHandler > xFilter( xContext->getServiceManager()->createInstanceWithArgumentsAndContext( OUString::createFromAscii( pImportService ), aFilterArgs, xContext), UNO_QUERY ); - uno::Reference< xml::sax::XFastParser > xFastParser = dynamic_cast< - xml::sax::XFastParser* >( xFilter.get() ); - DBG_ASSERT( xFilter.is(), "Can't instantiate filter component." ); + Reference< XInterface > xFilter = xContext->getServiceManager()->createInstanceWithArgumentsAndContext( OUString::createFromAscii( pImportService ), aFilterArgs, xContext); + SAL_WARN_IF( !xFilter, "svx", "Can't instantiate filter component " << pImportService); + uno::Reference< xml::sax::XFastParser > xFastParser( xFilter, UNO_QUERY ); + assert(xFastParser); bRet = false; - if( xParser.is() && xFilter.is() ) + if( xFastParser.is() ) { - // connect parser and filter - xParser->setDocumentHandler( xFilter ); - // connect model and filter uno::Reference < document::XImporter > xImporter( xFilter, UNO_QUERY ); xImporter->setTargetDocument( xTargetDocument ); // finally, parser the stream - if( xFastParser.is() ) - xFastParser->parseStream( aParserInput ); - else - xParser->parseStream( aParserInput ); + xFastParser->parseStream( aParserInput ); bRet = true; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits