cui/source/options/appearance.cxx |   69 +++++++++++++++-----------------------
 cui/source/options/appearance.hxx |    2 -
 2 files changed, 29 insertions(+), 42 deletions(-)

New commits:
commit 119aa2a770e54fa28f41dae3ca55f883393266ce
Author:     Caolán McNamara <[email protected]>
AuthorDate: Sun Dec 22 12:53:56 2024 +0000
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sun Dec 22 15:38:21 2024 +0100

    reduce the amount of casting
    
    Change-Id: I70f5607d8d5ccdadf1f5c69c846c93821f7681df
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179141
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/cui/source/options/appearance.cxx 
b/cui/source/options/appearance.cxx
index 1eb7e230dcb8..cd7d33ca5058 100644
--- a/cui/source/options/appearance.cxx
+++ b/cui/source/options/appearance.cxx
@@ -124,7 +124,7 @@ void SvxAppearanceTabPage::UpdateControlsState()
     m_xColorChangeBtn->set_sensitive(bEnableControls);
     m_xShowInDocumentChkBtn->set_sensitive(bEnableControls);
     m_xColorRadioBtn->set_sensitive(bEnableControls);
-    EnableImageControls(bEnableControls && GetActiveEntry() == 
static_cast<int>(APPBACKGROUND));
+    EnableImageControls(bEnableControls && GetActiveEntry() == APPBACKGROUND);
 }
 
 void SvxAppearanceTabPage::LoadSchemeList()
@@ -229,13 +229,12 @@ void SvxAppearanceTabPage::Reset(const SfxItemSet* /* 
rSet */)
 IMPL_LINK_NOARG(SvxAppearanceTabPage, ShowInDocumentHdl, weld::Toggleable&, 
void)
 {
     // get selected entry index and ColorConfigValue
-    size_t nEntry = GetActiveEntry();
-    ColorConfigValue aCurrentEntryColor
-        = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry));
+    ColorConfigEntry nEntry = GetActiveEntry();
+    ColorConfigValue aCurrentEntryColor = pColorConfig->GetColorValue(nEntry);
 
     // set colorconfig value
     aCurrentEntryColor.bIsVisible = m_xShowInDocumentChkBtn->get_active();
-    pColorConfig->SetColorValue(static_cast<ColorConfigEntry>(nEntry), 
aCurrentEntryColor);
+    pColorConfig->SetColorValue(nEntry, aCurrentEntryColor);
 }
 
 IMPL_LINK_NOARG(SvxAppearanceTabPage, AppearanceChangeHdl, weld::Toggleable&, 
void)
@@ -254,13 +253,11 @@ IMPL_LINK_NOARG(SvxAppearanceTabPage, 
AppearanceChangeHdl, weld::Toggleable&, vo
 IMPL_LINK_NOARG(SvxAppearanceTabPage, ColorEntryChgHdl, weld::ComboBox&, void)
 {
     // get selected entry index and ColorConfigValue
-    size_t nEntry = GetActiveEntry();
-    const ColorConfigValue& rCurrentEntryColor
-        = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry));
+    ColorConfigEntry nEntry = GetActiveEntry();
+    const ColorConfigValue& rCurrentEntryColor = 
pColorConfig->GetColorValue(nEntry);
 
     // set automatic colors
-    m_xColorChangeBtn->SetAutoDisplayColor(
-        ColorConfig::GetDefaultColor(static_cast<ColorConfigEntry>(nEntry)));
+    
m_xColorChangeBtn->SetAutoDisplayColor(ColorConfig::GetDefaultColor(nEntry));
     // set values for the entry
     if (IsDarkModeEnabled())
         m_xColorChangeBtn->SelectEntry(rCurrentEntryColor.nDarkColor);
@@ -306,9 +303,8 @@ IMPL_LINK_NOARG(SvxAppearanceTabPage, ColorEntryChgHdl, 
weld::ComboBox&, void)
 IMPL_LINK_NOARG(SvxAppearanceTabPage, ColorValueChgHdl, ColorListBox&, void)
 {
     // get the active entry
-    size_t nEntry = GetActiveEntry();
-    ColorConfigValue aCurrentEntryColor
-        = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry));
+    ColorConfigEntry nEntry = GetActiveEntry();
+    ColorConfigValue aCurrentEntryColor = pColorConfig->GetColorValue(nEntry);
 
     // restart only for the UI colors
     if (nEntry >= WINDOWCOLOR)
@@ -325,7 +321,7 @@ IMPL_LINK_NOARG(SvxAppearanceTabPage, ColorValueChgHdl, 
ColorListBox&, void)
     // making the whole thing super slow (comparatively).
     aCurrentEntryColor.nColor = m_xColorChangeBtn->GetSelectEntryColor();
 
-    pColorConfig->SetColorValue(static_cast<ColorConfigEntry>(nEntry), 
aCurrentEntryColor);
+    pColorConfig->SetColorValue(nEntry, aCurrentEntryColor);
 }
 
 IMPL_LINK_NOARG(SvxAppearanceTabPage, SchemeChangeHdl, weld::ComboBox&, void)
@@ -408,40 +404,37 @@ IMPL_LINK(SvxAppearanceTabPage, AddRemoveSchemeHdl, 
weld::Button&, rButton, void
 IMPL_LINK_NOARG(SvxAppearanceTabPage, ColorImageToggleHdl, weld::Toggleable&, 
void)
 {
     // get the active entry
-    size_t nEntry = GetActiveEntry();
-    ColorConfigValue aCurrentEntryColor
-        = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry));
+    ColorConfigEntry nEntry = GetActiveEntry();
+    ColorConfigValue aCurrentEntryColor = pColorConfig->GetColorValue(nEntry);
 
     aCurrentEntryColor.bUseBitmapBackground = !m_xColorRadioBtn->get_active();
-    pColorConfig->SetColorValue(static_cast<ColorConfigEntry>(nEntry), 
aCurrentEntryColor);
+    pColorConfig->SetColorValue(nEntry, aCurrentEntryColor);
     m_bRestartRequired = true;
 }
 
 IMPL_LINK_NOARG(SvxAppearanceTabPage, StretchedTiledToggleHdl, 
weld::Toggleable&, void)
 {
     // get the active entry
-    size_t nEntry = GetActiveEntry();
-    ColorConfigValue aCurrentEntryColor
-        = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry));
+    ColorConfigEntry nEntry = GetActiveEntry();
+    ColorConfigValue aCurrentEntryColor = pColorConfig->GetColorValue(nEntry);
 
     aCurrentEntryColor.bIsBitmapStretched = m_xStretchedRadioBtn->get_active();
 
-    pColorConfig->SetColorValue(static_cast<ColorConfigEntry>(nEntry), 
aCurrentEntryColor);
+    pColorConfig->SetColorValue(nEntry, aCurrentEntryColor);
     m_bRestartRequired = true;
 }
 
 IMPL_LINK_NOARG(SvxAppearanceTabPage, BitmapChangeHdl, weld::ComboBox&, void)
 {
     // get the active entry
-    size_t nEntry = GetActiveEntry();
-    ColorConfigValue aCurrentEntryColor
-        = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry));
+    ColorConfigEntry nEntry = GetActiveEntry();
+    ColorConfigValue aCurrentEntryColor = pColorConfig->GetColorValue(nEntry);
 
     // save the bitmap file name
     aCurrentEntryColor.sBitmapFileName
         = getBitmapList()[m_xBitmapDropDownBtn->get_active()].aBitmapFileName;
 
-    pColorConfig->SetColorValue(static_cast<ColorConfigEntry>(nEntry), 
aCurrentEntryColor);
+    pColorConfig->SetColorValue(nEntry, aCurrentEntryColor);
     m_bRestartRequired = true;
 }
 
@@ -549,13 +542,11 @@ void SvxAppearanceTabPage::UpdateColorDropdown()
     }
 
     // update color to light/dark
-    size_t nEntry = GetActiveEntry();
-    const ColorConfigValue& rCurrentEntryColor
-        = pColorConfig->GetColorValue(static_cast<ColorConfigEntry>(nEntry));
+    ColorConfigEntry nEntry = GetActiveEntry();
+    const ColorConfigValue& rCurrentEntryColor = 
pColorConfig->GetColorValue(nEntry);
 
     // set automatic colors
-    m_xColorChangeBtn->SetAutoDisplayColor(
-        ColorConfig::GetDefaultColor(static_cast<ColorConfigEntry>(nEntry)));
+    
m_xColorChangeBtn->SetAutoDisplayColor(ColorConfig::GetDefaultColor(nEntry));
     // set values for the entry
     if (IsDarkModeEnabled())
         m_xColorChangeBtn->SelectEntry(rCurrentEntryColor.nDarkColor);
@@ -728,16 +719,15 @@ void SvxAppearanceTabPage::FillItemsList()
                                  
aRegistryEntries.at(static_cast<ColorConfigEntry>(i)));
 }
 
-size_t SvxAppearanceTabPage::GetActiveEntry()
+ColorConfigEntry SvxAppearanceTabPage::GetActiveEntry()
 {
     OUString sEntryId = m_xColorEntryBtn->get_active_id();
-    int nEntry = 0;
-    for (; nEntry < ColorConfigEntryCount; ++nEntry)
+    for (int nEntry = 0; nEntry < ColorConfigEntryCount; ++nEntry)
     {
         if (sEntryId == cNames[nEntry].cName)
-            break;
+            return static_cast<ColorConfigEntry>(nEntry);
     }
-    return nEntry;
+    return ColorConfigEntryCount;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/options/appearance.hxx 
b/cui/source/options/appearance.hxx
index 7675d54e3bc4..b6c78c69cf0b 100644
--- a/cui/source/options/appearance.hxx
+++ b/cui/source/options/appearance.hxx
@@ -88,7 +88,7 @@ private:
     void UpdateOldAppearance();
     bool IsDarkModeEnabled();
     void FillItemsList();
-    size_t GetActiveEntry();
+    ColorConfigEntry GetActiveEntry();
 
 public:
     SvxAppearanceTabPage(weld::Container* pPage, weld::DialogController* 
pController,
commit 3efd05df94e417d4534ef5446c947f83b2c71072
Author:     Caolán McNamara <[email protected]>
AuthorDate: Sun Dec 22 12:43:21 2024 +0000
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sun Dec 22 15:38:10 2024 +0100

    cid#1636857 Dereference before null check
    
    Change-Id: Ib4411323cb5b1e1a44c56e890b6c0c1266d93eb7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179140
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Caolán McNamara <[email protected]>

diff --git a/cui/source/options/appearance.cxx 
b/cui/source/options/appearance.cxx
index 7f2f09ac8341..1eb7e230dcb8 100644
--- a/cui/source/options/appearance.cxx
+++ b/cui/source/options/appearance.cxx
@@ -221,11 +221,8 @@ void SvxAppearanceTabPage::Reset(const SfxItemSet* /* rSet 
*/)
     eCurrentAppearanceMode = 
static_cast<Appearance>(MiscSettings::GetAppColorMode());
 
     // reset ColorConfig
-    if (pColorConfig)
-    {
-        pColorConfig->ClearModified();
-        pColorConfig->DisableBroadcast();
-    }
+    pColorConfig->ClearModified();
+    pColorConfig->DisableBroadcast();
     pColorConfig.reset(new EditableColorConfig);
 }
 

Reply via email to