summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww8
diff options
context:
space:
mode:
authorSerge Krot <Serge.Krot@cib.de>2019-01-18 12:51:33 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2019-01-21 13:14:43 +0100
commitfd5599b9d23a2d9b13af6dd88bd2d38f438f7e00 (patch)
tree156fa677c0ac4518d76c32be9cfc87751b73a3c5 /sw/source/filter/ww8
parentacf8dec2aff423c6c4cfbd0e1ecb01ee052316cd (diff)
tdf#121561 sw DOCX: output toc-end inside last toc paragraph
During export of the TOC into DOCX all TOC field parts should be placed inside one STD frame: field start-begin, field-separate and field-end mark. Updated unit test. Change-Id: I10e37a48160e1dc4f0074c4e2e7621a59f79c2ee Reviewed-on: https://gerrit.libreoffice.org/66587 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'sw/source/filter/ww8')
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index 00e6249d6faa..2f7dd7a5aa49 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -1484,6 +1484,21 @@ void DocxAttributeOutput::EndRun(const SwTextNode* pNode, sal_Int32 nPos, bool /
m_nFieldsInHyperlink = 0;
}
+ // end ToX fields
+ for (auto it = m_Fields.rbegin(); it != m_Fields.rend(); )
+ {
+ if (it->bClose && !it->pField)
+ {
+ EndField_Impl( pNode, nPos, *it );
+ it = decltype(m_Fields)::reverse_iterator(m_Fields.erase(it.base() - 1));
+ }
+ else
+ {
+ ++it;
+ }
+ }
+
+
DoWriteBookmarksStart(m_rFinalBookmarksStart);
DoWriteBookmarksEnd(m_rFinalBookmarksEnd);
DoWriteBookmarkEndIfExist(nPos);