From f6eb92406bd366c557bc07810649e7ab3d1db614 Mon Sep 17 00:00:00 2001 From: Pallavi Jadhav Date: Tue, 29 Apr 2014 18:44:16 +0530 Subject: [PATCH] fdo#77812 :FILESAVE :DOCX : Extra Section Break gets added in file Issue : LO was exporting DOCX containing MultiColumns with additional Section break Continuos. Implementation : 1] Added check for Column_count in MSWordExportBase::WriteText() If Column_count > 1 and Text node is empty then do not export Section Break. 2] Written Export unit test case. Conflicts: sw/qa/extras/ooxmlexport/ooxmlexport.cxx Reviewed on: https://gerrit.libreoffice.org/9200 Change-Id: Ibf3e6bd2d4827aa77a659b1600939cc56d65a63b --- sw/qa/extras/ooxmlexport/data/fdo77812.docx | Bin 0 -> 13485 bytes sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 17 +++++++++++++++++ sw/source/filter/ww8/wrtww8.cxx | 15 +++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 sw/qa/extras/ooxmlexport/data/fdo77812.docx diff --git a/sw/qa/extras/ooxmlexport/data/fdo77812.docx b/sw/qa/extras/ooxmlexport/data/fdo77812.docx new file mode 100644 index 0000000000000000000000000000000000000000..48fb498887e027bdc52f5998700bee4b4a58134b GIT binary patch literal 13485 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 #include "WW8FibData.hxx" #include "numrule.hxx" +#include "fmtclds.hxx" using namespace css; using namespace sw::util; @@ -2597,6 +2598,20 @@ void MSWordExportBase::WriteText() } } } + else + { + /* Do not export Section Break in case DOCX containing MultiColumn and + * aIdx.GetNode().IsTxtNode() is False i.e. Text node is NULL. + */ + const SwFrmFmt* pPgFmt = rSect.GetFmt(); + const SwFmtCol& rCol = pPgFmt->GetCol(); + sal_uInt16 nColumnCount = rCol.GetNumCols(); + if(nColumnCount > 1) + { + bNeedExportBreakHere = sal_False; + } + } + if (bNeedExportBreakHere) //#120140# End of check { ReplaceCr( (char)0xc ); // indicator for Page/Section-Break