From d35884ef7d57de649e524a10397bf0d912101c25 Mon Sep 17 00:00:00 2001 From: Andre Fischer Date: Tue, 7 May 2013 11:33:50 +0000 Subject: Resolves: #i122230# Fixes for sidebar focus traveling (cherry picked from commit 2b1bd27c95821000241b6f038b62b009ab94bda7) Change-Id: Id54bb7367d736629a43869c58d6d840fc8fd7da8 --- sfx2/source/sidebar/FocusManager.cxx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sfx2/source/sidebar/FocusManager.cxx b/sfx2/source/sidebar/FocusManager.cxx index b3c83d381f09..081fa25621d7 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 aButtons; - for (::std::vector::iterator iButton(aButtons.begin()),iEnd(aButtons.end()); + ::std::vector aButtons; + aButtons.swap(maButtons); + for (::std::vector::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(maPanels.size())) + return; Panel& rPanel (*maPanels[nPanelIndex]); TitleBar* pTitleBar = rPanel.GetTitleBar(); if (pTitleBar!=NULL && pTitleBar->IsVisible()) -- cgit v1.2.3