tdf#147472: sw: bug in numbering with previous level NONE
Previous fix for tdf#146257 was not complete and was not able to
take care of disabled numebering started just at beginning of the
numbering string.
UI test test_tdf144439_outline with modifications is covering this
situation. No need in extra testcases.
Change-Id: Id17838cec7fb4fb039f9b457b7ee9ad3ab345678
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133124
Tested-by: Jenkins
Reviewed-by: Vasily Melenchuk <vasily.melenchuk@cib.de>
(cherry picked from commit a31a7b53c42eef3a8007766c60ec5a2539054a7c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133135
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sw/qa/uitest/writer_tests7/tdf144439.py b/sw/qa/uitest/writer_tests7/tdf144439.py
index 6797260..4862375 100644
--- a/sw/qa/uitest/writer_tests7/tdf144439.py
+++ b/sw/qa/uitest/writer_tests7/tdf144439.py
@@ -69,8 +69,7 @@ class tdf144439(UITestCase):
Paragraphs = document.Text.createEnumeration()
Para1 = Paragraphs.nextElement()
self.assertEqual(Para1.String, "Outline2")
# Well, this looks strange, but we asked to show 1 & 2 levels and 1st is without numbering
self.assertEqual(Para1.getPropertyValue("ListLabelString"), ".1")
self.assertEqual(Para1.getPropertyValue("ListLabelString"), "1")
with self.ui_test.execute_dialog_through_command(".uno:ChapterNumberingDialog") as xDialog:
# Select level "1"
diff --git a/sw/source/core/doc/number.cxx b/sw/source/core/doc/number.cxx
index 8a5b9c5..4e446cb 100644
--- a/sw/source/core/doc/number.cxx
+++ b/sw/source/core/doc/number.cxx
@@ -705,7 +705,7 @@ OUString SwNumRule::MakeNumString( const SwNumberTree::tNumberVector & rNumVecto
OUString sFind("%" + OUString::number(i + 1) + "%");
sal_Int32 nPositionToken = sLevelFormat.indexOf(sFind);
sal_Int32 nPositionNextToken = sLevelFormat.indexOf('%', nPositionToken + sFind.getLength());
if (nPositionToken > 0 && nPositionNextToken >= nPositionToken)
if (nPositionToken >= 0 && nPositionNextToken >= nPositionToken)
{
sLevelFormat = sLevelFormat.replaceAt(nPositionToken, nPositionNextToken - nPositionToken, u"");
}