From 1e87e93132f808ab95eab932b36bfe40d3cc607a Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Mon, 24 Jul 2017 22:45:34 +0200 Subject: tdf#108951 RTF import: fix missing custom bullet types Regression from commit f528f9499bd91b700c549575e88fa102cfffede9 (tdf#106953 RTF import: fix missing paragraph left margin, 2017-05-16) where I fixed the parent of the ooxml::CT_NumPr_numId token at one place, but forgot to adapt RTFDocumentImpl::popState() accordingly. Change-Id: Ibddd2486a50f284e11c2cd96339e7140b427aae1 Reviewed-on: https://gerrit.libreoffice.org/40381 Tested-by: Jenkins Reviewed-by: Miklos Vajna --- sw/qa/extras/rtfimport/data/tdf108951.rtf | 38 ++++++++++++++++++++++++++ sw/qa/extras/rtfimport/rtfimport.cxx | 9 ++++++ writerfilter/source/rtftok/rtfdocumentimpl.cxx | 2 +- 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 sw/qa/extras/rtfimport/data/tdf108951.rtf diff --git a/sw/qa/extras/rtfimport/data/tdf108951.rtf b/sw/qa/extras/rtfimport/data/tdf108951.rtf new file mode 100644 index 000000000000..d3b7f042dd8f --- /dev/null +++ b/sw/qa/extras/rtfimport/data/tdf108951.rtf @@ -0,0 +1,38 @@ +{\rtf1\ansi\ansicpg1252\deff0\deflang1033 +{\fonttbl +{\f0\fnil\fcharset0\fprq0\fttruetype Times New Roman;} +{\f1\fnil\fcharset0\fprq0\fttruetype NULL;} +{\f2\fnil\fcharset0\fprq0\fttruetype Symbol;} +{\f3\fnil\fcharset0\fprq0\fttruetype Dingbats;} +{\f4\fnil\fcharset0\fprq0\fttruetype Arial;} +{\f5\fnil\fcharset0\fprq0\fttruetype Courier New;} +} +{\stylesheet +{\s15 Normal;} +} +{\*\listtable +{\list\listtemplateid372490334\listsimple +{\listlevel\levelnfc23\levelstartat0\levelspace0\levelfollow0\fi-431\li720 +{\leveltext\'01\'b7 ;} +{\levelnumbers;} +\f2} +\listid616308743} +{\list\listtemplateid1541166935\listsimple +{\listlevel\levelnfc23\levelstartat0\levelspace0\levelfollow0\fi-431\li720 +{\leveltext\'01\'2d ;} +{\levelnumbers;} +\f0} +\listid1601185492} +} +{\*\listoverridetable +{\listoverride\listoverridecount0\listid616308743\ls1} +{\listoverride\listoverridecount0\listid1601185492\ls2} +} +\pard\fi-431\li720\s15 +{\*\pn\pnql\pnstart0\pnlvlblt +{\pntxtb -} +} +\ls2\ilvl0 +{\lang1033 +dashed} +\par} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index dc1f5b07706b..cabe33795880 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -143,6 +143,15 @@ DECLARE_RTFIMPORT_TEST(testFdo46662, "fdo46662.rtf") } } +DECLARE_RTFIMPORT_TEST(testTdf108951, "tdf108951.rtf") +{ + // This test is import-only, as we assert the list ID, which is OK to + // re-order on export, but then this test would not pass anymore. + + // \ls2 was imported as WWNum1. + CPPUNIT_ASSERT_EQUAL(OUString("WWNum2"), getProperty(getParagraph(1), "NumberingStyleName")); +} + DECLARE_RTFIMPORT_TEST(testFdo47036, "fdo47036.rtf") { uno::Reference xDrawPageSupplier(mxComponent, uno::UNO_QUERY); diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 152d3fbc6b32..a7bd7ebfcf1a 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -2906,7 +2906,7 @@ RTFError RTFDocumentImpl::popState() // Use it putNestedSprm(m_aStates.top().aParagraphSprms, NS_ooxml::LN_CT_PPrBase_numPr, NS_ooxml::LN_CT_NumPr_ilvl, pIlvlValue); - putNestedSprm(m_aStates.top().aParagraphSprms, NS_ooxml::LN_CT_PPrBase_tabs, NS_ooxml::LN_CT_NumPr_numId, pIdValue); + putNestedSprm(m_aStates.top().aParagraphSprms, NS_ooxml::LN_CT_PPrBase_numPr, NS_ooxml::LN_CT_NumPr_numId, pIdValue); } } break; -- cgit v1.2.3