sw/qa/extras/ooxmlexport/data/fdo78420.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 15 +++++++++++++++ sw/source/filter/ww8/docxattributeoutput.cxx | 5 +++++ sw/source/filter/ww8/docxattributeoutput.hxx | 1 + sw/source/filter/ww8/docxexport.cxx | 4 ++++ 5 files changed, 25 insertions(+)
New commits: commit c00690d2e579607bb0d8a3582580bd875225bffb Author: Ravindra Vidhate <ravindra.vidh...@synerzip.com> Date: Thu May 8 20:32:56 2014 +0530 fdo#78420 File is getting corrupted after exported from LO. It is not creating .rels file for Header3.xml. While the Header3.xml contains the images. Change-Id: I3d1eb187eaf23fc05783fbfd3576d9a585de791f Reviewed-on: https://gerrit.libreoffice.org/9286 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> Tested-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/sw/qa/extras/ooxmlexport/data/fdo78420.docx b/sw/qa/extras/ooxmlexport/data/fdo78420.docx new file mode 100644 index 0000000..6b253b1 Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/fdo78420.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index e2c7e58..4919d01 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -3283,6 +3283,21 @@ DECLARE_OOXMLEXPORT_TEST(testContentTypeOLE, "fdo77759.docx") "/word/embeddings/oleObject1.xlsx"); } +DECLARE_OOXMLEXPORT_TEST(testfdo78420, "fdo78420.docx") +{ + xmlDocPtr pXmlHeader = parseExport("word/header3.xml"); + + if (!pXmlHeader) + return; + + xmlDocPtr pXmlHeaderRels = parseExport("word/_rels/header3.xml.rels"); + if(!pXmlHeaderRels) + return; + + assertXPath(pXmlHeaderRels,"/rels:Relationships/rels:Relationship[1]","Id","rId1"); +} + + DECLARE_OOXMLEXPORT_TEST(testPageBreakInFirstPara,"fdo77727.docx") { /* Break to next page was not exported if it is in first paragraph of the section. diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index e969c0c..c84d2e6 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -3567,6 +3567,11 @@ void DocxAttributeOutput::WriteSrcRect(const SdrObject* pSdrObj ) } } +void DocxAttributeOutput::ClearGraphicCache() +{ + m_aRelIdCache.clear(); +} + void DocxAttributeOutput::FlyFrameGraphic( const SwGrfNode* pGrfNode, const Size& rSize, const SwFlyFrmFmt* pOLEFrmFmt, SwOLENode* pOLENode, const SdrObject* pSdrObj ) { OSL_TRACE( "TODO DocxAttributeOutput::FlyFrameGraphic( const SwGrfNode* pGrfNode, const Size& rSize, const SwFlyFrmFmt* pOLEFrmFmt, SwOLENode* pOLENode, const SdrObject* pSdrObj ) - some stuff still missing" ); diff --git a/sw/source/filter/ww8/docxattributeoutput.hxx b/sw/source/filter/ww8/docxattributeoutput.hxx index ba26fba..81305ba 100644 --- a/sw/source/filter/ww8/docxattributeoutput.hxx +++ b/sw/source/filter/ww8/docxattributeoutput.hxx @@ -358,6 +358,7 @@ public: void WriteBookmarks_Impl( std::vector< OUString >& rStarts, std::vector< OUString >& rEnds ); void WriteAnnotationMarks_Impl( std::vector< OUString >& rStarts, std::vector< OUString >& rEnds ); + void ClearGraphicCache(); private: /// Initialize the structures where we are going to collect some of the paragraph properties. diff --git a/sw/source/filter/ww8/docxexport.cxx b/sw/source/filter/ww8/docxexport.cxx index c3a6ddf..f8500e4 100644 --- a/sw/source/filter/ww8/docxexport.cxx +++ b/sw/source/filter/ww8/docxexport.cxx @@ -711,6 +711,10 @@ void DocxExport::WriteHeaderFooter( const SwFmt& rFmt, bool bHeader, const char* // do the work WriteHeaderFooterText( rFmt, bHeader ); + //When the stream changes the cache which is maintained for the graphics in case of alternate content is not cleared. + //So clearing the alternate content graphic cache. + m_pAttrOutput->ClearGraphicCache(); + // switch the serializer back m_pAttrOutput->SetSerializer( m_pDocumentFS ); m_pVMLExport->SetFS( m_pDocumentFS ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits