summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2021-12-13 17:42:00 +0200
committerJustin Luth <jluth@mail.com>2021-12-14 11:47:43 +0100
commitfda607397997df511dab3b340ca6f6da42f5c5bd (patch)
tree4499db5b27dc73b3f9c351c1713d8f4138a7d36b /xmloff
parent2b035eb5ba1f9600ea19937519cbc9068c31263b (diff)
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 <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins (cherry picked from commit aed4c2d80c2f11b82631c097ed0b15a5cb52283d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126812
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/qa/unit/text.cxx2
-rw-r--r--xmloff/source/style/styleexp.cxx3
-rw-r--r--xmloff/source/text/txtstyli.cxx5
3 files changed, 6 insertions, 4 deletions
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;
}