From 9a2bd7d71b004accae50c44b573a108140ab0678 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 27 Nov 2019 16:06:27 +0000 Subject: Resolves: tdf#128979 crash/freeze on selecting last theme in list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ie47feb34cfbd6af0788a679ca2b5985ad6f9cbbf Reviewed-on: https://gerrit.libreoffice.org/83927 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- cui/source/options/optgdlg.cxx | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'cui') diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx index 549513e7a69c..cb6b53a08176 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; } -- cgit