diff options
author | PriyankaGaikwad <priyanka.gaikwad@synerzip.com> | 2014-05-30 17:23:45 +0530 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-06-04 08:05:00 +0000 |
commit | 2df0d9d32d05f08ccf673fd0f61f650438511acb (patch) | |
tree | 04db38af0c96180262d89c5e86ebe23db1efcac2 | |
parent | ce1d0fc63bedc5c908c0f5e92445aa16ae1326df (diff) |
fdo#78907 : File crashed while saving.
- There is pagebreak in file and footer has nested table.
- While exporting LO write section break instead of PAGE_BREAK.
- Due to this it was writing two sections in file and same footer
for both sections.
- This was causing wrong table depth values due to this it was crashing
while writing table.
- So in MSWordExportBase::OutputSectionBreaks if next node has
RES_BREAK(page break) then bNewPageDesc value should be false.
Change-Id: I2ccc4e48a26253716253a7280a244f06e172770a
Reviewed-on: https://gerrit.libreoffice.org/9568
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/fdo78907.docx | bin | 0 -> 38642 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 13 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8atr.cxx | 2 |
3 files changed, 14 insertions, 1 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/fdo78907.docx b/sw/qa/extras/ooxmlexport/data/fdo78907.docx Binary files differnew file mode 100644 index 000000000000..abae6b4be042 --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/fdo78907.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index 9c115a13e0f2..4c6dcdae0992 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -3460,6 +3460,19 @@ DECLARE_OOXMLEXPORT_TEST(testFDO79062, "fdo79062.docx") assertXPath(pXmlEndNotes, "/w:endnotes", "Ignorable", "w14 wp14"); } +DECLARE_OOXMLEXPORT_TEST(testfdo78907,"fdo78907.docx") +{ + xmlDocPtr pXmlDoc = parseExport("word/document.xml"); + if (!pXmlDoc) + return; + assertXPath ( pXmlDoc, "/w:document/w:body/w:p[1]/w:r[2]/w:br", "type", "page" ); + + xmlDocPtr pXmlDoc1 = parseExport("word/footer1.xml"); + if (!pXmlDoc1) + return; + assertXPath ( pXmlDoc1, "/w:ftr[1]/w:tbl[1]/w:tr[1]/w:tc[1]/w:tbl[1]/w:tr[1]/w:tc[1]/w:tbl", 0 ); +} + #endif CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx index 3ddec916d842..2f8959d2cdb1 100644 --- a/sw/source/filter/ww8/ww8atr.cxx +++ b/sw/source/filter/ww8/ww8atr.cxx @@ -483,7 +483,7 @@ void MSWordExportBase::OutputSectionBreaks( const SfxItemSet *pSet, const SwNode } } } - + bNewPageDesc = false; // if next node has RES_BREAK(page break) then bNewPageDesc value should be false. bBreakSet = true; if ( !bRemoveHardBreakInsideTable ) |