From bfcb7d1ef8185739de3fae4940bf46b3fe0e754b Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 6 Aug 2020 11:30:49 +0100 Subject: tdf#135488 ensure something is selected in experimental theme colorset so double click without something selected can't normally happen, and bail out and do nothing if it does happen Change-Id: Ic9ed756d4b2b51b87f09786ab7b8506b2d720d84 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100217 Tested-by: Jenkins Reviewed-by: Xisco Fauli --- sw/source/uibase/sidebar/ThemePanel.cxx | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/sw/source/uibase/sidebar/ThemePanel.cxx b/sw/source/uibase/sidebar/ThemePanel.cxx index 18abd157b71a..290ca4106fb3 100644 --- a/sw/source/uibase/sidebar/ThemePanel.cxx +++ b/sw/source/uibase/sidebar/ThemePanel.cxx @@ -444,6 +444,9 @@ ThemePanel::ThemePanel(vcl::Window* pParent, } mxValueSetColors->SetOptimalSize(); + + if (!aColorSets.empty()) + mxValueSetColors->SelectItem(1); // ItemId 1, position 0 } ThemePanel::~ThemePanel() @@ -480,17 +483,19 @@ IMPL_LINK_NOARG(ThemePanel, DoubleClickHdl, weld::TreeView&, bool) void ThemePanel::DoubleClickHdl() { SwDocShell* pDocSh = static_cast(SfxObjectShell::Current()); - if (pDocSh) - { - OUString sEntryFonts = mxListBoxFonts->get_selected_text(); - sal_uInt32 nItemId = mxValueSetColors->GetSelectedItemId(); - sal_uInt32 nIndex = nItemId - 1; - OUString sEntryColors = maColorSets.getColorSet(nIndex).getName(); + if (!pDocSh) + return; - StyleSet aStyleSet = setupThemes(); + sal_uInt32 nItemId = mxValueSetColors->GetSelectedItemId(); + if (!nItemId) + return; + OUString sEntryFonts = mxListBoxFonts->get_selected_text(); + sal_uInt32 nIndex = nItemId - 1; + OUString sEntryColors = maColorSets.getColorSet(nIndex).getName(); - applyTheme(pDocSh->GetStyleSheetPool(), sEntryFonts, sEntryColors, aStyleSet, maColorSets); - } + StyleSet aStyleSet = setupThemes(); + + applyTheme(pDocSh->GetStyleSheetPool(), sEntryFonts, sEntryColors, aStyleSet, maColorSets); } void ThemePanel::NotifyItemUpdate(const sal_uInt16 /*nSId*/, -- cgit