writerfilter/source/dmapper/DomainMapper_Impl.cxx |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

New commits:
commit 24d2e8ea7a17ded531d19cba3f1cb30b17833eea
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Tue Mar 21 19:18:14 2023 +0300
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Tue Mar 21 20:13:36 2023 +0000

    Simplify a bit
    
    Also takes care of one place where dereferencing wasn't safe
    
    Change-Id: I4ed67ad709610bea9cbed8184710f53d18d76d11
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149225
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx 
b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index ffcd883289bd..37f7059118c8 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -6218,7 +6218,6 @@ void DomainMapper_Impl::handleToc
     OUString sTemplate;
     OUString sChapterNoSeparator;
     OUString sFigureSequence;
-    uno::Reference< beans::XPropertySet > xTOC;
     OUString aBookmarkName;
 
 //                  \a Builds a table of figures but does not include the 
captions's label and number
@@ -6317,6 +6316,8 @@ void DomainMapper_Impl::handleToc
 
     const OUString aTocTitle = extractTocTitle();
 
+    uno::Reference<beans::XPropertySet> xTOC;
+
     if (m_xTextFactory.is() && ! m_aTextAppendStack.empty())
     {
         const auto& xTextAppend = GetTopTextAppend();
@@ -6352,13 +6353,17 @@ void DomainMapper_Impl::handleToc
     }
 
     m_bStartTOC = true;
+    pContext->SetTOC(xTOC);
+    m_bParaHadField = false;
 
-    if (xTOC.is())
-        xTOC->setPropertyValue(getPropertyName( PROP_TITLE ), 
uno::Any(aTocTitle));
+    if (!xTOC)
+        return;
+
+    xTOC->setPropertyValue(getPropertyName( PROP_TITLE ), uno::Any(aTocTitle));
 
     if (!aBookmarkName.isEmpty())
         xTOC->setPropertyValue(getPropertyName(PROP_TOC_BOOKMARK), 
uno::Any(aBookmarkName));
-    if( !bTableOfFigures && xTOC.is() )
+    if (!bTableOfFigures)
     {
         xTOC->setPropertyValue( getPropertyName( PROP_LEVEL ), uno::Any( 
nMaxLevel ) );
         xTOC->setPropertyValue( getPropertyName( PROP_CREATE_FROM_OUTLINE ), 
uno::Any( bFromOutline ));
@@ -6427,7 +6432,7 @@ void DomainMapper_Impl::handleToc
             }
         }
     }
-    else if (bTableOfFigures && xTOC.is())
+    else // if (bTableOfFigures)
     {
         if (!sFigureSequence.isEmpty())
             xTOC->setPropertyValue(getPropertyName(PROP_LABEL_CATEGORY),
@@ -6452,8 +6457,6 @@ void DomainMapper_Impl::handleToc
             xLevelFormats->replaceByIndex( 1, uno::Any( aNewLevel ) );
         }
     }
-    pContext->SetTOC( xTOC );
-    m_bParaHadField = false;
 }
 
 uno::Reference<beans::XPropertySet> DomainMapper_Impl::createSectionForRange(

Reply via email to