summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-07-16 13:58:43 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-07-17 08:39:42 +0200
commit8f32dc03302e2435aab8e876fb874a1c4897d536 (patch)
treeb7e14b46050c587e566f95a83e232357703fc0c1
parent4c9423b3e033a4eabf76b3bffb344385e770a4b6 (diff)
loplugin:useuniqueptr in HTMLAttrContext
Change-Id: I1a1c5054a27c8731eb397c63af26347b979375ee Reviewed-on: https://gerrit.libreoffice.org/57519 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--sw/source/filter/html/htmlctxt.cxx58
-rw-r--r--sw/source/filter/html/swhtml.hxx51
2 files changed, 58 insertions, 51 deletions
diff --git a/sw/source/filter/html/htmlctxt.cxx b/sw/source/filter/html/htmlctxt.cxx
index 0157ef999e66..074ca6e2ebd8 100644
--- a/sw/source/filter/html/htmlctxt.cxx
+++ b/sw/source/filter/html/htmlctxt.cxx
@@ -110,15 +110,65 @@ std::shared_ptr<HTMLAttrTable> const & HTMLAttrContext_SaveDoc::GetAttrTab( bool
HTMLAttrContext_SaveDoc *HTMLAttrContext::GetSaveDocContext( bool bCreate )
{
if( !m_pSaveDocContext && bCreate )
- m_pSaveDocContext = new HTMLAttrContext_SaveDoc;
+ m_pSaveDocContext.reset(new HTMLAttrContext_SaveDoc);
- return m_pSaveDocContext;
+ return m_pSaveDocContext.get();
+}
+
+HTMLAttrContext::HTMLAttrContext( HtmlTokenId nTokn, sal_uInt16 nPoolId, const OUString& rClass,
+ bool bDfltColl ) :
+ m_aClass( rClass ),
+ m_pSaveDocContext( nullptr ),
+ m_nToken( nTokn ),
+ m_nTextFormatColl( nPoolId ),
+ m_nLeftMargin( 0 ),
+ m_nRightMargin( 0 ),
+ m_nFirstLineIndent( 0 ),
+ m_nUpperSpace( 0 ),
+ m_nLowerSpace( 0 ),
+ m_eAppend( AM_NONE ),
+ m_bLRSpaceChanged( false ),
+ m_bULSpaceChanged( false ),
+ m_bDefaultTextFormatColl( bDfltColl ),
+ m_bSpansSection( false ),
+ m_bPopStack( false ),
+ m_bFinishPREListingXMP( false ),
+ m_bRestartPRE( false ),
+ m_bRestartXMP( false ),
+ m_bRestartListing( false ),
+ m_bHeaderOrFooter( false )
+{}
+
+HTMLAttrContext::HTMLAttrContext( HtmlTokenId nTokn ) :
+ m_pSaveDocContext( nullptr ),
+ m_nToken( nTokn ),
+ m_nTextFormatColl( 0 ),
+ m_nLeftMargin( 0 ),
+ m_nRightMargin( 0 ),
+ m_nFirstLineIndent( 0 ),
+ m_nUpperSpace( 0 ),
+ m_nLowerSpace( 0 ),
+ m_eAppend( AM_NONE ),
+ m_bLRSpaceChanged( false ),
+ m_bULSpaceChanged( false ),
+ m_bDefaultTextFormatColl( false ),
+ m_bSpansSection( false ),
+ m_bPopStack( false ),
+ m_bFinishPREListingXMP( false ),
+ m_bRestartPRE( false ),
+ m_bRestartXMP( false ),
+ m_bRestartListing( false ),
+ m_bHeaderOrFooter( false )
+{}
+
+HTMLAttrContext::~HTMLAttrContext()
+{
+ m_pSaveDocContext.reset();
}
void HTMLAttrContext::ClearSaveDocContext()
{
- delete m_pSaveDocContext;
- m_pSaveDocContext = nullptr;
+ m_pSaveDocContext.reset();
}
void SwHTMLParser::SplitAttrTab( const SwPosition& rNewPos )
diff --git a/sw/source/filter/html/swhtml.hxx b/sw/source/filter/html/swhtml.hxx
index ae6a91ad3250..0867f3e4d0ed 100644
--- a/sw/source/filter/html/swhtml.hxx
+++ b/sw/source/filter/html/swhtml.hxx
@@ -207,7 +207,7 @@ class HTMLAttrContext
OUString m_aClass; // context class
- HTMLAttrContext_SaveDoc *m_pSaveDocContext;
+ std::unique_ptr<HTMLAttrContext_SaveDoc> m_pSaveDocContext;
std::unique_ptr<SfxItemSet> m_pFrameItemSet;
HtmlTokenId m_nToken; // the token of the context
@@ -238,52 +238,9 @@ public:
void ClearSaveDocContext();
HTMLAttrContext( HtmlTokenId nTokn, sal_uInt16 nPoolId, const OUString& rClass,
- bool bDfltColl=false ) :
- m_aClass( rClass ),
- m_pSaveDocContext( nullptr ),
- m_nToken( nTokn ),
- m_nTextFormatColl( nPoolId ),
- m_nLeftMargin( 0 ),
- m_nRightMargin( 0 ),
- m_nFirstLineIndent( 0 ),
- m_nUpperSpace( 0 ),
- m_nLowerSpace( 0 ),
- m_eAppend( AM_NONE ),
- m_bLRSpaceChanged( false ),
- m_bULSpaceChanged( false ),
- m_bDefaultTextFormatColl( bDfltColl ),
- m_bSpansSection( false ),
- m_bPopStack( false ),
- m_bFinishPREListingXMP( false ),
- m_bRestartPRE( false ),
- m_bRestartXMP( false ),
- m_bRestartListing( false ),
- m_bHeaderOrFooter( false )
- {}
-
- explicit HTMLAttrContext( HtmlTokenId nTokn ) :
- m_pSaveDocContext( nullptr ),
- m_nToken( nTokn ),
- m_nTextFormatColl( 0 ),
- m_nLeftMargin( 0 ),
- m_nRightMargin( 0 ),
- m_nFirstLineIndent( 0 ),
- m_nUpperSpace( 0 ),
- m_nLowerSpace( 0 ),
- m_eAppend( AM_NONE ),
- m_bLRSpaceChanged( false ),
- m_bULSpaceChanged( false ),
- m_bDefaultTextFormatColl( false ),
- m_bSpansSection( false ),
- m_bPopStack( false ),
- m_bFinishPREListingXMP( false ),
- m_bRestartPRE( false ),
- m_bRestartXMP( false ),
- m_bRestartListing( false ),
- m_bHeaderOrFooter( false )
- {}
-
- ~HTMLAttrContext() { ClearSaveDocContext(); }
+ bool bDfltColl=false );
+ explicit HTMLAttrContext( HtmlTokenId nTokn );
+ ~HTMLAttrContext();
HtmlTokenId GetToken() const { return m_nToken; }