Resolves: #i122230# Fixes for sidebar focus traveling
(cherry picked from commit 2b1bd27c95821000241b6f038b62b009ab94bda7)
Change-Id: Id54bb7367d736629a43869c58d6d840fc8fd7da8
diff --git a/sfx2/source/sidebar/FocusManager.cxx b/sfx2/source/sidebar/FocusManager.cxx
index b3c83d3..081fa25 100644
--- a/sfx2/source/sidebar/FocusManager.cxx
+++ b/sfx2/source/sidebar/FocusManager.cxx
@@ -98,8 +98,9 @@ void FocusManager::ClearPanels (void)
void FocusManager::ClearButtons (void)
{
::std::vector<Window*> aButtons;
for (::std::vector<Window*>::iterator iButton(aButtons.begin()),iEnd(aButtons.end());
::std::vector<Button*> aButtons;
aButtons.swap(maButtons);
for (::std::vector<Button*>::iterator iButton(aButtons.begin()),iEnd(aButtons.end());
iButton!=iEnd;
++iButton)
{
@@ -278,6 +279,8 @@ bool FocusManager::IsDeckTitleVisible (void) const
void FocusManager::FocusPanel (const sal_Int32 nPanelIndex)
{
if (nPanelIndex<0 || nPanelIndex>=static_cast<sal_Int32>(maPanels.size()))
return;
Panel& rPanel (*maPanels[nPanelIndex]);
TitleBar* pTitleBar = rPanel.GetTitleBar();
if (pTitleBar!=NULL && pTitleBar->IsVisible())