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())