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>
diff --git a/sw/source/core/unocore/unocrsrhelper.cxx b/sw/source/core/unocore/unocrsrhelper.cxx
index 7536e49..32b449b 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 pEntry : rMap.getPropertyEntries())
{
if (rPropSet.getPropertyState(*pEntry, rSet) == PropertyState_DIRECT_VALUE)
if (rPropSet.getPropertyState(*pEntry, *pSet) == PropertyState_DIRECT_VALUE)
{
Any value;
rPropSet.getPropertyValue(*pEntry, rSet, value);
rPropSet.getPropertyValue(*pEntry, *pSet, value);
props.emplace_back(pEntry->aName, value);
}
}