diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-11-25 17:29:09 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-11-27 22:06:36 +0000 |
commit | 5db3eff8bea4b4d907251c46bc30d1114daba3bc (patch) | |
tree | cb9048ef95ebe7114292ae4d30ffb0dc43318099 /cui/source | |
parent | 065b4d6813ee308f819cce962da8944021b945c6 (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
(cherry picked from commit 8b718e3774f1ffb69f9aad565216556c798e95f4)
Reviewed-on: https://gerrit.libreoffice.org/31209
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'cui/source')
-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(); } } |