diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-04-13 09:07:22 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-04-13 09:08:11 +0200 |
commit | 79d19a739c80c686e9ebfadb5f65eb1ff53dce65 (patch) | |
tree | 94cd7d6e5ea788c0cbfb21f46be638227b9849dd /sw | |
parent | 6eaf6c8d2344fb4ef55c8d1178433588701bdd6b (diff) |
DocxAttributeOutput::m_postponedOLE: use std::unique_ptr<>
Change-Id: I4b8c6d59f024c2319ab14200118416b0ff23d7f5
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.cxx | 23 | ||||
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.hxx | 2 |
2 files changed, 11 insertions, 14 deletions
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index c92d1117e011..ddf822f3356f 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -1608,8 +1608,8 @@ void DocxAttributeOutput::StartRunProperties() assert(!m_postponedDMLDrawing); m_postponedDMLDrawing = new std::list< PostponedDrawing >; - assert( !m_postponedOLE ); - m_postponedOLE = new std::list< PostponedOLE >; + assert( !m_pPostponedOLEs ); + m_pPostponedOLEs.reset(new std::list<PostponedOLE>()); } void DocxAttributeOutput::InitCollectedRunProperties() @@ -4507,11 +4507,11 @@ void DocxAttributeOutput::WritePostponedFormControl(const SdrObject* pObject) bool DocxAttributeOutput::PostponeOLE( const SdrObject*, SwOLENode& rNode, const Size& rSize, const SwFlyFrmFmt* pFlyFrmFmt ) { - if( m_postponedOLE == NULL ) + if( !m_pPostponedOLEs ) //cannot be postponed, try to write now WriteOLE( rNode, rSize, pFlyFrmFmt ); else - m_postponedOLE->push_back( PostponedOLE( &rNode, rSize, pFlyFrmFmt ) ); + m_pPostponedOLEs->push_back( PostponedOLE( &rNode, rSize, pFlyFrmFmt ) ); return true; } @@ -4520,19 +4520,18 @@ bool DocxAttributeOutput::PostponeOLE( const SdrObject*, SwOLENode& rNode, const */ void DocxAttributeOutput::WritePostponedOLE() { - if( m_postponedOLE == NULL ) + if( !m_pPostponedOLEs ) return; - for( std::list< PostponedOLE >::iterator it = m_postponedOLE->begin(); - it != m_postponedOLE->end(); + for( std::list< PostponedOLE >::iterator it = m_pPostponedOLEs->begin(); + it != m_pPostponedOLEs->end(); ++it ) { WriteOLE( *it->object, it->size, it->frame ); } // clear list of postponed objects - delete m_postponedOLE; - m_postponedOLE = NULL; + m_pPostponedOLEs.reset(0); } void DocxAttributeOutput::WriteOLE( SwOLENode& rNode, const Size& rSize, const SwFlyFrmFmt* rFlyFrmFmt ) @@ -4751,8 +4750,7 @@ void DocxAttributeOutput::WritePostponedDMLDrawing() // Clear the list early, this method may be called recursively. std::list<PostponedDrawing>* postponedDMLDrawing = m_postponedDMLDrawing; m_postponedDMLDrawing = NULL; - std::list<PostponedOLE>* postponedOLE = m_postponedOLE; - m_postponedOLE = 0; + std::unique_ptr< std::list<PostponedOLE> > pPostponedOLEs(m_pPostponedOLEs.release()); bool bStartedParaSdt = m_bStartedParaSdt; for( std::list< PostponedDrawing >::iterator it = postponedDMLDrawing->begin(); @@ -4768,7 +4766,7 @@ void DocxAttributeOutput::WritePostponedDMLDrawing() m_bStartedParaSdt = bStartedParaSdt; delete postponedDMLDrawing; - m_postponedOLE = postponedOLE; + m_pPostponedOLEs.reset(pPostponedOLEs.release()); } void DocxAttributeOutput::OutputFlyFrame_Impl( const sw::Frame &rFrame, const Point& rNdTopLeft ) @@ -8286,7 +8284,6 @@ DocxAttributeOutput::DocxAttributeOutput( DocxExport &rExport, FSHelperPtr pSeri m_nFieldsInHyperlink( 0 ), m_postponedVMLDrawing(NULL), m_postponedDMLDrawing(NULL), - m_postponedOLE( NULL ), m_postponedMath( NULL ), m_postponedChart( NULL ), pendingPlaceholder( NULL ), diff --git a/sw/source/filter/ww8/docxattributeoutput.hxx b/sw/source/filter/ww8/docxattributeoutput.hxx index 10eb0f52b019..6005344f0d78 100644 --- a/sw/source/filter/ww8/docxattributeoutput.hxx +++ b/sw/source/filter/ww8/docxattributeoutput.hxx @@ -859,7 +859,7 @@ private: const Size size; const SwFlyFrmFmt* frame; }; - std::list< PostponedOLE >* m_postponedOLE; + std::unique_ptr< std::list<PostponedOLE> > m_pPostponedOLEs; const SwOLENode* m_postponedMath; const SdrObject* m_postponedChart; |