diff options
author | Thomas Viehmann <tv@beamnet.de> | 2019-09-13 11:24:43 +0200 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2019-09-17 11:59:18 +0200 |
commit | 2f679fd3e6f46df7cda77eb70a014bcfcac7df52 (patch) | |
tree | 3176e59a32db9e67b89d7da8b8f198329543f2d2 /sw | |
parent | d550caa333328d98587b7c269a580b400238dc2b (diff) |
sw: Mark uno property ParaChapterNumberingLevel as MAYBEVOID
tdf#127534 TextRange.getPropertyValues runs into RuntimeException when
getting all properties form PropertySetinfo
We suspect that the property might be completely unused / useless.
However, removing it might be BC breaking for "buggy" uses of
the property, so this is a lower-risk fix.
Björn helped with great advice, thank you! All errors in the patch
are my own, though.
Change-Id: Ie80b61003de2b8516e458c800531aac951ebc148
Reviewed-on: https://gerrit.libreoffice.org/78865
Tested-by: Jenkins
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@libreoffice.org>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/python/check_styles.py | 10 | ||||
-rw-r--r-- | sw/source/core/unocore/unomap1.cxx | 2 | ||||
-rw-r--r-- | sw/source/core/unocore/unomapproperties.hxx | 2 |
3 files changed, 12 insertions, 2 deletions
diff --git a/sw/qa/python/check_styles.py b/sw/qa/python/check_styles.py index 8746c479fbbe..cfd8a9e1bec1 100644 --- a/sw/qa/python/check_styles.py +++ b/sw/qa/python/check_styles.py @@ -27,6 +27,16 @@ class CheckStyle(unittest.TestCase): def tearDownClass(cls): cls._uno.tearDown() + def test_TextRangeProperties(self): + xDoc = CheckStyle._uno.openEmptyWriterDoc() + xBodyText = xDoc.getText() + xCursor = xBodyText.createTextCursor() + xBodyText.insertString(xCursor, "Hello world", 0) + xTextRange = list(xBodyText)[0] + pnames = [p.Name for p in xTextRange.PropertySetInfo.Properties] + xTextRange.getPropertyValues(pnames) + xDoc.dispose() + def test_StyleFamilies(self): xDoc = CheckStyle._uno.openEmptyWriterDoc() xStyleFamilies = xDoc.StyleFamilies diff --git a/sw/source/core/unocore/unomap1.cxx b/sw/source/core/unocore/unomap1.cxx index 08d9d1e49943..1cc12a5cb170 100644 --- a/sw/source/core/unocore/unomap1.cxx +++ b/sw/source/core/unocore/unomap1.cxx @@ -200,7 +200,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetAutoParaStyleProper { OUString(UNO_NAME_CELL), FN_UNO_CELL, cppu::UnoType<css::table::XCell>::get(), PropertyAttribute::MAYBEVOID|PropertyAttribute::READONLY ,0 }, { OUString(UNO_NAME_TEXT_FRAME), FN_UNO_TEXT_FRAME, cppu::UnoType<css::text::XTextFrame>::get(), PropertyAttribute::MAYBEVOID|PropertyAttribute::READONLY ,0 }, { OUString(UNO_NAME_TEXT_SECTION), FN_UNO_TEXT_SECTION, cppu::UnoType<css::text::XTextSection>::get(), PropertyAttribute::MAYBEVOID|PropertyAttribute::READONLY ,0 }, - { OUString(UNO_NAME_PARA_CHAPTER_NUMBERING_LEVEL), FN_UNO_PARA_CHAPTER_NUMBERING_LEVEL,cppu::UnoType<sal_Int8>::get(), PROPERTY_NONE, 0}, + { OUString(UNO_NAME_PARA_CHAPTER_NUMBERING_LEVEL), FN_UNO_PARA_CHAPTER_NUMBERING_LEVEL,cppu::UnoType<sal_Int8>::get(), PropertyAttribute::MAYBEVOID, 0}, { OUString(UNO_NAME_PARA_CONDITIONAL_STYLE_NAME), RES_FRMATR_CONDITIONAL_STYLE_NAME, cppu::UnoType<OUString>::get(), PropertyAttribute::MAYBEVOID|PropertyAttribute::READONLY, 0}, { OUString(UNO_NAME_PARA_IS_NUMBERING_RESTART), FN_NUMBER_NEWSTART, cppu::UnoType<bool>::get(), PropertyAttribute::MAYBEVOID, 0 }, // TODO add RES_PARATR_LIST_AUTOFMT? diff --git a/sw/source/core/unocore/unomapproperties.hxx b/sw/source/core/unocore/unomapproperties.hxx index aafe8263afbf..c3a7c0c22fb0 100644 --- a/sw/source/core/unocore/unomapproperties.hxx +++ b/sw/source/core/unocore/unomapproperties.hxx @@ -89,7 +89,7 @@ { OUString(UNO_NAME_TEXT_FRAME), FN_UNO_TEXT_FRAME, cppu::UnoType<css::text::XTextFrame>::get(), PropertyAttribute::MAYBEVOID|PropertyAttribute::READONLY ,0 }, \ { OUString(UNO_NAME_TEXT_SECTION), FN_UNO_TEXT_SECTION, cppu::UnoType<css::text::XTextSection>::get(), PropertyAttribute::MAYBEVOID|PropertyAttribute::READONLY ,0 }, \ { OUString(UNO_NAME_TEXT_PARAGRAPH), FN_UNO_TEXT_PARAGRAPH, cppu::UnoType<css::text::XTextContent>::get(), PropertyAttribute::MAYBEVOID|PropertyAttribute::READONLY ,0 }, \ - { OUString(UNO_NAME_PARA_CHAPTER_NUMBERING_LEVEL), FN_UNO_PARA_CHAPTER_NUMBERING_LEVEL,cppu::UnoType<sal_Int8>::get(), PROPERTY_NONE, 0}, \ + { OUString(UNO_NAME_PARA_CHAPTER_NUMBERING_LEVEL), FN_UNO_PARA_CHAPTER_NUMBERING_LEVEL,cppu::UnoType<sal_Int8>::get(), PropertyAttribute::MAYBEVOID, 0}, \ { OUString(UNO_NAME_PARA_CONDITIONAL_STYLE_NAME), FN_UNO_PARA_CONDITIONAL_STYLE_NAME, cppu::UnoType<OUString>::get(), PropertyAttribute::READONLY, 0}, \ { OUString(UNO_NAME_LIST_ID), FN_UNO_LIST_ID, cppu::UnoType<OUString>::get(), PropertyAttribute::MAYBEVOID, 0}, \ { OUString(UNO_NAME_PARA_IS_NUMBERING_RESTART), FN_NUMBER_NEWSTART, cppu::UnoType<bool>::get(), PropertyAttribute::MAYBEVOID, 0 }, \ |