diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-08-06 11:30:49 +0100 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2020-08-10 11:38:03 +0200 |
commit | bfcb7d1ef8185739de3fae4940bf46b3fe0e754b (patch) | |
tree | 5426781f929283000bdc60aa2f9c109f9ea8e351 | |
parent | 41e180f500a42a3afd53b673f538becd75a8f120 (diff) |
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 <xiscofauli@libreoffice.org>
-rw-r--r-- | sw/source/uibase/sidebar/ThemePanel.cxx | 23 |
1 files 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<SwDocShell*>(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*/, |