summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-04-13 09:07:22 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-04-13 09:08:11 +0200
commit79d19a739c80c686e9ebfadb5f65eb1ff53dce65 (patch)
tree94cd7d6e5ea788c0cbfb21f46be638227b9849dd
parent6eaf6c8d2344fb4ef55c8d1178433588701bdd6b (diff)
DocxAttributeOutput::m_postponedOLE: use std::unique_ptr<>
Change-Id: I4b8c6d59f024c2319ab14200118416b0ff23d7f5
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.cxx23
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.hxx2
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;