diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-11-25 17:29:09 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-11-25 17:29:09 +0100 |
commit | 8b718e3774f1ffb69f9aad565216556c798e95f4 (patch) | |
tree | 35741e1f606ccf98b25f0d5c577da2d99fb2d442 /cui | |
parent | 086631af59636cd9a6a45b747a1bc59b4b547794 (diff) |
Handle cases where last-used palette disappeared
...so PaletteManager::SetPalette(LISTBOX_ENTRY_NOTFOUND) would set
PaletteManager::mnCurrentPalette to 65535, and
PaletteManager::GetSelectedPalettePath would do out-of-bounds access into
PaletteManage::m_Palettes.
That the last-used palette (as stored under in the configuration under
/org.openoffice.Office.Common/UserColors/PaletteName) may become more common
with pending changes like <https://gerrit.libreoffice.org/#/c/31199/>
"tdf#104047 Remove dispensable palettes".
Change-Id: I5641bae04f50fea8aa69027a75de08c22394c281
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/tabpages/tpcolor.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cui/source/tabpages/tpcolor.cxx b/cui/source/tabpages/tpcolor.cxx index c31f57fce3f8..e4545b497d6e 100644 --- a/cui/source/tabpages/tpcolor.cxx +++ b/cui/source/tabpages/tpcolor.cxx @@ -220,7 +220,10 @@ void SvxColorTabPage::FillPaletteLB() } OUString aPaletteName( officecfg::Office::Common::UserColors::PaletteName::get() ); m_pSelectPalette->SelectEntry(aPaletteName); - SelectPaletteLBHdl( *m_pSelectPalette ); + if (m_pSelectPalette->GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND) + { + SelectPaletteLBHdl( *m_pSelectPalette ); + } } void SvxColorTabPage::Construct() @@ -228,7 +231,6 @@ void SvxColorTabPage::Construct() if (pColorList.is()) { FillPaletteLB(); - SelectPaletteLBHdl( *m_pSelectPalette ); ImpColorCountChanged(); } } |