xmloff/qa/unit/text.cxx | 2 +- xmloff/source/style/styleexp.cxx | 3 ++- xmloff/source/text/txtstyli.cxx | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-)
New commits: commit aed4c2d80c2f11b82631c097ed0b15a5cb52283d Author: Justin Luth <justin_l...@sil.org> AuthorDate: Mon Dec 13 17:42:00 2021 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Tue Dec 14 10:36:48 2021 +0100 tdf#62032 xmloff: list-level is positiveInteger, impl is 0-based Thanks for catching this Regina. Change-Id: Iaf6a0c9161378934818e392126a4437e55f5ddf8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126743 Reviewed-by: Justin Luth <jl...@mail.com> Reviewed-by: Miklos Vajna <vmik...@collabora.com> Tested-by: Jenkins diff --git a/xmloff/qa/unit/text.cxx b/xmloff/qa/unit/text.cxx index 78ebaf75e1bc..9ac9ac93dbc4 100644 --- a/xmloff/qa/unit/text.cxx +++ b/xmloff/qa/unit/text.cxx @@ -191,7 +191,7 @@ CPPUNIT_TEST_FIXTURE(XmloffStyleTest, testParaStyleListLevel) uno::Reference<beans::XPropertySet> xStyle(xStyleFamily->getByName("mystyle"), uno::UNO_QUERY); sal_Int16 nNumberingLevel{}; CPPUNIT_ASSERT(xStyle->getPropertyValue("NumberingLevel") >>= nNumberingLevel); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int16>(2), nNumberingLevel); + CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int16>(1), nNumberingLevel); // Test the export as well: diff --git a/xmloff/source/style/styleexp.cxx b/xmloff/source/style/styleexp.cxx index 1a3a81f10c95..10ae6a22dcfa 100644 --- a/xmloff/source/style/styleexp.cxx +++ b/xmloff/source/style/styleexp.cxx @@ -147,7 +147,8 @@ void ExportStyleListlevel(const uno::Reference<beans::XPropertySetInfo>& xPropSe return; } - rExport.AddAttribute(XML_NAMESPACE_STYLE, XML_LIST_LEVEL, OUString::number(nNumberingLevel)); + // The spec is positiveInteger (1-based), but the implementation is 0-based. + rExport.AddAttribute(XML_NAMESPACE_STYLE, XML_LIST_LEVEL, OUString::number(++nNumberingLevel)); } } diff --git a/xmloff/source/text/txtstyli.cxx b/xmloff/source/text/txtstyli.cxx index bcd55b140868..85db00df1901 100644 --- a/xmloff/source/text/txtstyli.cxx +++ b/xmloff/source/text/txtstyli.cxx @@ -118,9 +118,10 @@ void XMLTextStyleContext::SetAttribute( sal_Int32 nElement, case XML_ELEMENT(STYLE, XML_LIST_LEVEL): { sal_Int32 nTmp; - if (sax::Converter::convertNumber(nTmp, rValue) && nTmp >= 0 && nTmp <= 10) + // The spec is positiveInteger (1-based), but the implementation is 0-based. + if (sax::Converter::convertNumber(nTmp, rValue) && nTmp > 0 && nTmp <= 10) { - m_aListLevel.emplace(nTmp); + m_aListLevel.emplace(--nTmp); } break; }