cui/source/inc/cuitabarea.hxx  |    2 
 cui/source/tabpages/tparea.cxx |   88 ++++++++++++++++++++---------------------
 2 files changed, 46 insertions(+), 44 deletions(-)

New commits:
commit e4aaf59f4801431d5bdd1aa6e18d2aa8eba39f1c
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Feb 21 11:49:14 2022 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Mon Feb 21 14:46:14 2022 +0100

    cid#1500465 Dereference after null check
    
    Change-Id: I3a9b1195c1694d6160c44da152b3502cdd501b3f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130268
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx
index b5af2475a218..2ee9a78afd40 100644
--- a/cui/source/inc/cuitabarea.hxx
+++ b/cui/source/inc/cuitabarea.hxx
@@ -279,7 +279,7 @@ public:
     void    SetBitmapList( XBitmapListRef const & pBmpLst) { m_pBitmapList = 
pBmpLst; }
     void    SetPatternList( XPatternListRef const &pPtrnLst ) { m_pPatternList 
= pPtrnLst; }
     virtual void PageCreated(const SfxAllItemSet& aSet) override;
-    void    CreatePage(sal_Int32 nId, SfxTabPage* pTab);
+    void    CreatePage(sal_Int32 nId, SfxTabPage& rTab);
     void    SetColorChgd( ChangeType* pIn ) { m_pnColorListState = pIn; }
     void    SetGrdChgd( ChangeType* pIn ) { m_pnGradientListState = pIn; }
     void    SetHtchChgd( ChangeType* pIn ) { m_pnHatchingListState = pIn; }
diff --git a/cui/source/tabpages/tparea.cxx b/cui/source/tabpages/tparea.cxx
index 0f7cc19737e9..f7bbf34ef676 100644
--- a/cui/source/tabpages/tparea.cxx
+++ b/cui/source/tabpages/tparea.cxx
@@ -372,8 +372,10 @@ void SvxAreaTabPage::SelectFillType(weld::Toggleable& 
rButton, const SfxItemSet*
         FillType eFillType = 
static_cast<FillType>(maBox.GetCurrentButtonPos());
         m_xFillTabPage = lcl_CreateFillStyleTabPage(eFillType, 
m_xFillTab.get(), GetDialogController(), m_rXFSet);
         if (m_xFillTabPage)
+        {
             m_xFillTabPage->SetDialogController(GetDialogController());
-        CreatePage(eFillType, m_xFillTabPage.get());
+            CreatePage(eFillType, *m_xFillTabPage);
+        }
     }
 }
 
@@ -397,63 +399,63 @@ void SvxAreaTabPage::PageCreated(const SfxAllItemSet& 
aSet)
         SetPatternList(pPatternListItem->GetPatternList());
 }
 
-void SvxAreaTabPage::CreatePage( sal_Int32 nId, SfxTabPage* pTab )
+void SvxAreaTabPage::CreatePage(sal_Int32 nId, SfxTabPage& rTab)
 {
     if(nId == SOLID )
     {
-        auto* pColorTab = static_cast<SvxColorTabPage*>(pTab);
-        pColorTab->SetColorList(m_pColorList);
-        pColorTab->SetColorChgd(m_pnColorListState);
-        pColorTab->Construct();
-        pColorTab->ActivatePage(m_rXFSet);
-        pColorTab->Reset(&m_rXFSet);
-        pColorTab->set_visible(true);
+        auto& rColorTab = static_cast<SvxColorTabPage&>(rTab);
+        rColorTab.SetColorList(m_pColorList);
+        rColorTab.SetColorChgd(m_pnColorListState);
+        rColorTab.Construct();
+        rColorTab.ActivatePage(m_rXFSet);
+        rColorTab.Reset(&m_rXFSet);
+        rColorTab.set_visible(true);
     }
     else if(nId == GRADIENT)
     {
-        auto* pGradientTab = static_cast<SvxGradientTabPage*>(pTab);
-        pGradientTab->SetColorList(m_pColorList);
-        pGradientTab->SetGradientList(m_pGradientList);
-        pGradientTab->SetGrdChgd(m_pnGradientListState);
-        pGradientTab->SetColorChgd(m_pnColorListState);
-        pGradientTab->Construct();
-        pGradientTab->ActivatePage(m_rXFSet);
-        pGradientTab->Reset(&m_rXFSet);
-        pGradientTab->set_visible(true);
+        auto& rGradientTab = static_cast<SvxGradientTabPage&>(rTab);
+        rGradientTab.SetColorList(m_pColorList);
+        rGradientTab.SetGradientList(m_pGradientList);
+        rGradientTab.SetGrdChgd(m_pnGradientListState);
+        rGradientTab.SetColorChgd(m_pnColorListState);
+        rGradientTab.Construct();
+        rGradientTab.ActivatePage(m_rXFSet);
+        rGradientTab.Reset(&m_rXFSet);
+        rGradientTab.set_visible(true);
     }
     else if(nId == HATCH)
     {
-        auto* pHatchTab = static_cast<SvxHatchTabPage*>(pTab);
-        pHatchTab->SetColorList(m_pColorList);
-        pHatchTab->SetHatchingList(m_pHatchingList);
-        pHatchTab->SetHtchChgd(m_pnHatchingListState);
-        pHatchTab->SetColorChgd(m_pnColorListState);
-        pHatchTab->Construct();
-        pHatchTab->ActivatePage(m_rXFSet);
-        pHatchTab->Reset(&m_rXFSet);
-        pHatchTab->set_visible(true);
+        auto& rHatchTab = static_cast<SvxHatchTabPage&>(rTab);
+        rHatchTab.SetColorList(m_pColorList);
+        rHatchTab.SetHatchingList(m_pHatchingList);
+        rHatchTab.SetHtchChgd(m_pnHatchingListState);
+        rHatchTab.SetColorChgd(m_pnColorListState);
+        rHatchTab.Construct();
+        rHatchTab.ActivatePage(m_rXFSet);
+        rHatchTab.Reset(&m_rXFSet);
+        rHatchTab.set_visible(true);
     }
     else if(nId == BITMAP)
     {
-        auto* pBitmapTab = static_cast<SvxBitmapTabPage*>(pTab);
-        pBitmapTab->SetBitmapList(m_pBitmapList);
-        pBitmapTab->SetBmpChgd(m_pnBitmapListState);
-        pBitmapTab->Construct();
-        pBitmapTab->ActivatePage(m_rXFSet);
-        pBitmapTab->Reset(&m_rXFSet);
-        pBitmapTab->set_visible(true);
+        auto& rBitmapTab = static_cast<SvxBitmapTabPage&>(rTab);
+        rBitmapTab.SetBitmapList(m_pBitmapList);
+        rBitmapTab.SetBmpChgd(m_pnBitmapListState);
+        rBitmapTab.Construct();
+        rBitmapTab.ActivatePage(m_rXFSet);
+        rBitmapTab.Reset(&m_rXFSet);
+        rBitmapTab.set_visible(true);
     }
     else if(nId == PATTERN)
     {
-        auto* pPatternTab = static_cast<SvxPatternTabPage*>(pTab);
-        pPatternTab->SetColorList(m_pColorList);
-        pPatternTab->SetPatternList(m_pPatternList);
-        pPatternTab->SetPtrnChgd(m_pnPatternListState);
-        pPatternTab->SetColorChgd(m_pnColorListState);
-        pPatternTab->Construct();
-        pPatternTab->ActivatePage(m_rXFSet);
-        pPatternTab->Reset(&m_rXFSet);
-        pPatternTab->set_visible(true);
+        auto& rPatternTab = static_cast<SvxPatternTabPage&>(rTab);
+        rPatternTab.SetColorList(m_pColorList);
+        rPatternTab.SetPatternList(m_pPatternList);
+        rPatternTab.SetPtrnChgd(m_pnPatternListState);
+        rPatternTab.SetColorChgd(m_pnColorListState);
+        rPatternTab.Construct();
+        rPatternTab.ActivatePage(m_rXFSet);
+        rPatternTab.Reset(&m_rXFSet);
+        rPatternTab.set_visible(true);
     }
 }
 

Reply via email to