diff options
author | Michael Meeks <michael.meeks@suse.com> | 2012-09-21 21:32:11 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2012-09-21 21:33:59 +0100 |
commit | ff300e59e74ee88aa6a4981b57a51af416c9e991 (patch) | |
tree | fd927304bd49c3bea36f63d1da892628c5ba3c60 /writerfilter/source/filter/ImportFilter.cxx | |
parent | 6ba1a664a94cfbfbc7c280b15cee35122710ff86 (diff) |
fdo#49819 - allow slightly inconsistent docx files to be repaired
Diffstat (limited to 'writerfilter/source/filter/ImportFilter.cxx')
-rw-r--r-- | writerfilter/source/filter/ImportFilter.cxx | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/writerfilter/source/filter/ImportFilter.cxx b/writerfilter/source/filter/ImportFilter.cxx index 2eef1c12c43f..207342ada465 100644 --- a/writerfilter/source/filter/ImportFilter.cxx +++ b/writerfilter/source/filter/ImportFilter.cxx @@ -63,6 +63,7 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes else if (m_xDstDoc.is()) { MediaDescriptor aMediaDesc( aDescriptor ); + bool bRepairStorage = aMediaDesc.getUnpackedValueOrDefault( "RepairPackage", false ); OUString sFilterName = aMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_FILTERNAME(), OUString() ); uno::Reference< io::XInputStream > xInputStream; @@ -77,9 +78,7 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes } if ( !xInputStream.is() ) - { return sal_False; - } #ifdef DEBUG_IMPORT OUString sURL = aMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_URL(), OUString() ); @@ -101,11 +100,11 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes m_sFilterName == "writer_OOXML" || m_sFilterName == "writer_OOXML_Text_Template" ) ? writerfilter::dmapper::DOCUMENT_OOXML : writerfilter::dmapper::DOCUMENT_DOC; - writerfilter::Stream::Pointer_t pStream(new writerfilter::dmapper::DomainMapper(m_xContext, xInputStream, m_xDstDoc, eType)); + writerfilter::Stream::Pointer_t pStream(new writerfilter::dmapper::DomainMapper(m_xContext, xInputStream, m_xDstDoc, bRepairStorage, eType)); //create the tokenizer and domain mapper if( eType == writerfilter::dmapper::DOCUMENT_OOXML ) { - writerfilter::ooxml::OOXMLStream::Pointer_t pDocStream = writerfilter::ooxml::OOXMLDocumentFactory::createStream(m_xContext, xInputStream); + writerfilter::ooxml::OOXMLStream::Pointer_t pDocStream = writerfilter::ooxml::OOXMLDocumentFactory::createStream(m_xContext, xInputStream, bRepairStorage); writerfilter::ooxml::OOXMLDocument::Pointer_t pDocument(writerfilter::ooxml::OOXMLDocumentFactory::createDocument(pDocStream)); uno::Reference<frame::XModel> xModel(m_xDstDoc, uno::UNO_QUERY_THROW); |