Resolves: tdf#128979 crash/freeze on selecting last theme in list

Change-Id: Ie47feb34cfbd6af0788a679ca2b5985ad6f9cbbf
Reviewed-on: https://gerrit.libreoffice.org/83927
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 549513e..cb6b53a 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -795,13 +795,13 @@ OfaViewTabPage::OfaViewTabPage(weld::Container* pPage, weld::DialogController* p
    OUString entryForAuto = sAutoStr + " (" +
                                autoIconTheme.GetDisplayName() +
                                ")";
    m_xIconStyleLB->append_text(entryForAuto);
    m_xIconStyleLB->append("auto", entryForAuto); // index 0 means choose style automatically

    // separate auto and other icon themes
    m_xIconStyleLB->append_separator("");

    for (auto const& installIconTheme : mInstalledIconThemes)
        m_xIconStyleLB->append_text(installIconTheme.GetDisplayName());
        m_xIconStyleLB->append(installIconTheme.GetThemeId(), installIconTheme.GetDisplayName());

    m_xIconStyleLB->set_active(0);

@@ -918,15 +918,7 @@ bool OfaViewTabPage::FillItemSet( SfxItemSet* )
    const sal_Int32 nStyleLB_NewSelection = m_xIconStyleLB->get_active();
    if( nStyleLB_InitialSelection != nStyleLB_NewSelection )
    {
        // 0 means choose style automatically
        if (nStyleLB_NewSelection == 0)
            aMiscOptions.SetIconTheme("auto");
        else
        {
            const sal_Int32 pos = m_xIconStyleLB->get_active();
            const vcl::IconThemeInfo& iconThemeId = mInstalledIconThemes.at(pos-1);
            aMiscOptions.SetIconTheme(iconThemeId.GetThemeId());
        }
        aMiscOptions.SetIconTheme(m_xIconStyleLB->get_active_id());
        nStyleLB_InitialSelection = nStyleLB_NewSelection;
    }