diff options
Diffstat (limited to 'sd/source/filter/xml/sdxmlwrp.cxx')
-rw-r--r-- | sd/source/filter/xml/sdxmlwrp.cxx | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sd/source/filter/xml/sdxmlwrp.cxx b/sd/source/filter/xml/sdxmlwrp.cxx index 43c3d0d7766d..ad36030f5e1c 100644 --- a/sd/source/filter/xml/sdxmlwrp.cxx +++ b/sd/source/filter/xml/sdxmlwrp.cxx @@ -28,6 +28,7 @@ #include <comphelper/propertysequence.hxx> #include <o3tl/string_view.hxx> #include <editeng/outlobj.hxx> +#include <sax/xfastparser.hxx> #include <sfx2/docfile.hxx> #include <sfx2/docfilt.hxx> #include <sfx2/sfxsids.hrc> @@ -45,7 +46,6 @@ #include <svx/xmleohlp.hxx> #include <com/sun/star/xml/sax/Parser.hpp> #include <com/sun/star/xml/sax/XDocumentHandler.hpp> -#include <com/sun/star/xml/sax/XFastParser.hpp> #include <com/sun/star/document/XFilter.hpp> #include <com/sun/star/document/XImporter.hpp> #include <com/sun/star/document/XExporter.hpp> @@ -198,11 +198,11 @@ ErrCode ReadThroughComponent( SAL_WARN_IF(!xFilter.is(), "sd.filter", "Can't instantiate filter component: " << aFilterName); if( !xFilter.is() ) return SD_XML_READERROR; - Reference< xml::sax::XFastParser > xFastParser(xFilter, UNO_QUERY); + XFastParser* pFastParser = dynamic_cast<XFastParser*>(xFilter.get()); Reference< xml::sax::XDocumentHandler > xDocumentHandler; - if (!xFastParser) + if (!pFastParser) xDocumentHandler.set(xFilter, UNO_QUERY); - if (!xFastParser && !xDocumentHandler) + if (!pFastParser && !xDocumentHandler) { SAL_WARN("sd", "service does not implement XFastParser or XDocumentHandler"); assert(false); @@ -218,8 +218,8 @@ ErrCode ReadThroughComponent( SAL_INFO( "sd.filter", "parsing stream" ); try { - if (xFastParser) - xFastParser->parseStream( aParserInput ); + if (pFastParser) + pFastParser->parseStream( aParserInput ); else { Reference< xml::sax::XParser > xParser = xml::sax::Parser::create(rxContext); |