diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2021-04-27 05:38:32 +0300 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-04-27 09:21:20 +0200 |
commit | d1ac603b006a14c3cf8c8f852eb481a27e3c46fa (patch) | |
tree | a18f7c73cf4450221d5fdb066138794923640d17 | |
parent | e9341b4356c8e5e72aa4dbde9029b0ffca3966e7 (diff) |
tdf#141924: SwFormatAutoFormat::GetStyleHandle may return nullptr
Change-Id: Id1b6fe687f5b328fa0743036a287bacfefe5e5fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114685
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114687
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r-- | sw/source/core/unocore/unocrsrhelper.cxx | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sw/source/core/unocore/unocrsrhelper.cxx b/sw/source/core/unocore/unocrsrhelper.cxx index 0186b5f9613f..8c09a63113fa 100644 --- a/sw/source/core/unocore/unocrsrhelper.cxx +++ b/sw/source/core/unocore/unocrsrhelper.cxx @@ -312,17 +312,19 @@ static uno::Any GetParaListAutoFormat(SwTextNode const& rNode) { return uno::Any(); } - SfxItemSet const& rSet(*pFormat->GetStyleHandle()); + const auto pSet(pFormat->GetStyleHandle()); + if (!pSet) + return {}; SfxItemPropertySet const& rPropSet(*aSwMapProvider.GetPropertySet(PROPERTY_MAP_CHAR_AUTO_STYLE)); SfxItemPropertyMap const& rMap(rPropSet.getPropertyMap()); std::vector<beans::NamedValue> props; // have to iterate the map, not the item set? for (auto const& rEntry : rMap.getPropertyEntries()) { - if (rPropSet.getPropertyState(rEntry, rSet) == PropertyState_DIRECT_VALUE) + if (rPropSet.getPropertyState(rEntry, *pSet) == PropertyState_DIRECT_VALUE) { Any value; - rPropSet.getPropertyValue(rEntry, rSet, value); + rPropSet.getPropertyValue(rEntry, *pSet, value); props.emplace_back(rEntry.sName, value); } } |