summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-09-23 07:49:49 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-09-23 07:50:10 +0200
commit3e27df1035677c7cca5200858d5d8e8283bf7aa9 (patch)
treecd68de68b0440a97bb17e98cf2a64cd56a51033b /writerfilter
parentd77b49f070a562d2ac0df3174cf32d88680ba7a0 (diff)
tdf#92124 DOCX import: don't add a dummy Suffix for an empty LabelFollowedBy
Change-Id: I0c4366ad0a2f81a198860869f670767343a392be
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/NumberingManager.cxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx
index 67c25c8b4108..befce733f1a4 100644
--- a/writerfilter/source/dmapper/NumberingManager.cxx
+++ b/writerfilter/source/dmapper/NumberingManager.cxx
@@ -603,7 +603,18 @@ void ListDef::CreateNumberingRules( DomainMapper& rDMapper,
if (it != aLvlProps.end())
{
sal_Int16 nNumberFormat = it->Value.get<sal_Int16>();
- if (nNumberFormat == style::NumberingType::NUMBER_NONE)
+
+ // No need for a zero width space without a real LabelFollowedBy.
+ bool bLabelFollowedBy = true;
+ it = std::find_if(aLvlProps.begin(), aLvlProps.end(), [](const beans::PropertyValue& rValue) { return rValue.Name == "LabelFollowedBy"; });
+ if (it != aLvlProps.end())
+ {
+ sal_Int16 nValue;
+ if (it->Value >>= nValue)
+ bLabelFollowedBy = nValue != SvxNumberFormat::NOTHING;
+ }
+
+ if (bLabelFollowedBy && nNumberFormat == style::NumberingType::NUMBER_NONE)
rSuffix = OUString(static_cast<sal_Unicode>(0x200B));
}
}