diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-11-19 17:25:04 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-11-19 17:43:04 +0100 |
commit | d9f0c19edde7cb28086860ea6b3519be0d49a3e0 (patch) | |
tree | 3bf8967d72a8c20b2ffc4277f8bea2c88037121d | |
parent | 755209d88073fd497b884b8de1348ec75c2df7eb (diff) |
DOCX import: handle <w:lvlOverride> without <w:lvlText>
Change-Id: I0b941bd7a733408655db192b8608ed3987b9c1fc
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/num-override-lvltext.docx | bin | 0 -> 13625 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 7 | ||||
-rw-r--r-- | writerfilter/source/dmapper/NumberingManager.cxx | 3 |
3 files changed, 9 insertions, 1 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/num-override-lvltext.docx b/sw/qa/extras/ooxmlexport/data/num-override-lvltext.docx Binary files differnew file mode 100644 index 000000000000..5ee36020a112 --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/num-override-lvltext.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index 964ec96c656a..8c78d45343fb 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -591,6 +591,13 @@ DECLARE_OOXMLEXPORT_TEST(testNumParentStyle, "num-parent-style.docx") CPPUNIT_ASSERT(getProperty<OUString>(getParagraph(4), "NumberingStyleName").startsWith("WWNum")); } +DECLARE_OOXMLEXPORT_TEST(testNumOverrideLvltext, "num-override-lvltext.docx") +{ + uno::Reference<container::XIndexAccess> xRules = getProperty< uno::Reference<container::XIndexAccess> >(getStyles("NumberingStyles")->getByName("WWNum1"), "NumberingRules"); + // This was 1, i.e. the numbering on the second level was "1", not "1.1". + CPPUNIT_ASSERT_EQUAL(sal_Int16(2), comphelper::SequenceAsHashMap(xRules->getByIndex(1))["ParentNumbering"].get<sal_Int16>()); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx index 2d5618d179ca..af2c2e3c1967 100644 --- a/writerfilter/source/dmapper/NumberingManager.cxx +++ b/writerfilter/source/dmapper/NumberingManager.cxx @@ -614,7 +614,8 @@ void ListDef::CreateNumberingRules( DomainMapper& rDMapper, // Get the prefix / suffix / Parent numbering // and add them to the level properties OUString sText = pAbsLevel->GetBulletChar( ); - if ( pLevel.get( ) ) + // Inherit <w:lvlText> from the abstract level in case the override would be empty. + if (pLevel.get() && !pLevel->GetBulletChar().isEmpty()) sText = pLevel->GetBulletChar( ); OUString sPrefix; |