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>
diff --git a/sw/source/core/unocore/unocrsrhelper.cxx b/sw/source/core/unocore/unocrsrhelper.cxx
index 0186b5f..8c09a63 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);
        }
    }