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
This commit is contained in:
parent
086631af59
commit
8b718e3774
@ -220,7 +220,10 @@ void SvxColorTabPage::FillPaletteLB()
|
|||||||
}
|
}
|
||||||
OUString aPaletteName( officecfg::Office::Common::UserColors::PaletteName::get() );
|
OUString aPaletteName( officecfg::Office::Common::UserColors::PaletteName::get() );
|
||||||
m_pSelectPalette->SelectEntry(aPaletteName);
|
m_pSelectPalette->SelectEntry(aPaletteName);
|
||||||
SelectPaletteLBHdl( *m_pSelectPalette );
|
if (m_pSelectPalette->GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND)
|
||||||
|
{
|
||||||
|
SelectPaletteLBHdl( *m_pSelectPalette );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SvxColorTabPage::Construct()
|
void SvxColorTabPage::Construct()
|
||||||
@ -228,7 +231,6 @@ void SvxColorTabPage::Construct()
|
|||||||
if (pColorList.is())
|
if (pColorList.is())
|
||||||
{
|
{
|
||||||
FillPaletteLB();
|
FillPaletteLB();
|
||||||
SelectPaletteLBHdl( *m_pSelectPalette );
|
|
||||||
ImpColorCountChanged();
|
ImpColorCountChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1356,7 +1356,10 @@ SvxColorWindow::SvxColorWindow(const OUString& rCommand,
|
|||||||
}
|
}
|
||||||
OUString aPaletteName( officecfg::Office::Common::UserColors::PaletteName::get() );
|
OUString aPaletteName( officecfg::Office::Common::UserColors::PaletteName::get() );
|
||||||
mpPaletteListBox->SelectEntry( aPaletteName );
|
mpPaletteListBox->SelectEntry( aPaletteName );
|
||||||
SelectPaletteHdl( *mpPaletteListBox );
|
if (mpPaletteListBox->GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND)
|
||||||
|
{
|
||||||
|
SelectPaletteHdl( *mpPaletteListBox );
|
||||||
|
}
|
||||||
|
|
||||||
mpButtonAutoColor->SetClickHdl( LINK( this, SvxColorWindow, AutoColorClickHdl ) );
|
mpButtonAutoColor->SetClickHdl( LINK( this, SvxColorWindow, AutoColorClickHdl ) );
|
||||||
mpButtonNoneColor->SetClickHdl( LINK( this, SvxColorWindow, AutoColorClickHdl ) );
|
mpButtonNoneColor->SetClickHdl( LINK( this, SvxColorWindow, AutoColorClickHdl ) );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user