summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat.ooo@free.fr>2011-10-04 13:11:50 +0200
committerCédric Bosdonnat <cedric.bosdonnat.ooo@free.fr>2011-10-04 13:16:33 +0200
commitfadb5d1dcd78f5ceb79863381d52964c3f054434 (patch)
treeade072eb33478a5da290a0d7f59e6364c4024f6c
parent5f1a277f2e7fc2d32673d2a917d6775d5276d481 (diff)
Page Break: fixed crasher due to bad removal of frame controls
-rw-r--r--sw/source/ui/docvw/FrameControlsManager.cxx8
-rw-r--r--sw/source/ui/inc/FrameControlsManager.hxx2
2 files changed, 5 insertions, 5 deletions
diff --git a/sw/source/ui/docvw/FrameControlsManager.cxx b/sw/source/ui/docvw/FrameControlsManager.cxx
index 4a0763681c95..6fe07e294f57 100644
--- a/sw/source/ui/docvw/FrameControlsManager.cxx
+++ b/sw/source/ui/docvw/FrameControlsManager.cxx
@@ -68,7 +68,7 @@ SwFrameControlsManager::~SwFrameControlsManager()
m_aControls.clear();
}
-std::vector< SwFrameControlPtr > SwFrameControlsManager::GetControls( FrameControlType eType )
+std::vector< SwFrameControlPtr >& SwFrameControlsManager::GetControls( FrameControlType eType )
{
return m_aControls[eType];
}
@@ -84,7 +84,7 @@ void SwFrameControlsManager::RemoveControls( const SwFrm* pFrm )
while ( pIt != m_aControls.end() )
{
- vector< SwFrameControlPtr > aVect = pIt->second;
+ vector< SwFrameControlPtr >& aVect = pIt->second;
aVect.erase( remove_if( aVect.begin(),
aVect.end(),
FramePredicate( pFrm ) ), aVect.end() );
@@ -124,7 +124,7 @@ void SwFrameControlsManager::SetHeaderFooterControl( const SwPageFrm* pPageFrm,
// Check if we already have the control
SwFrameControlPtr pControl;
- vector< SwFrameControlPtr > aControls = m_aControls[HeaderFooter];
+ vector< SwFrameControlPtr >& aControls = m_aControls[HeaderFooter];
vector< SwFrameControlPtr >::iterator pIt = aControls.begin();
while ( pIt != aControls.end() && !pControl.get() )
@@ -159,7 +159,7 @@ void SwFrameControlsManager::SetPageBreakControl( const SwPageFrm* pPageFrm )
// Check if we already have the control
SwFrameControlPtr pControl;
- vector< SwFrameControlPtr > aControls = m_aControls[PageBreak];
+ vector< SwFrameControlPtr >& aControls = m_aControls[PageBreak];
vector< SwFrameControlPtr >::iterator pIt = aControls.begin();
while ( pIt != aControls.end() && !pControl.get() )
diff --git a/sw/source/ui/inc/FrameControlsManager.hxx b/sw/source/ui/inc/FrameControlsManager.hxx
index c3e91ee4d920..b79843f610a3 100644
--- a/sw/source/ui/inc/FrameControlsManager.hxx
+++ b/sw/source/ui/inc/FrameControlsManager.hxx
@@ -57,7 +57,7 @@ class SwFrameControlsManager
SwFrameControlsManager( SwEditWin* pEditWin );
~SwFrameControlsManager( );
- std::vector< SwFrameControlPtr > GetControls( FrameControlType eType );
+ std::vector< SwFrameControlPtr >& GetControls( FrameControlType eType );
void AddControl( FrameControlType eType, SwFrameControlPtr pControl );
void RemoveControls( const SwFrm* pFrm );
void HideControls( FrameControlType eType );