include/svtools/svparser.hxx      |    5 +++--
 svtools/source/svrtf/svparser.cxx |   11 +++--------
 2 files changed, 6 insertions(+), 10 deletions(-)

New commits:
commit 50336412f775af154509d67b1ebbdb4b5feb147b
Author: Aleksas Pantechovskis <alex.pan...@gmail.com>
Date:   Wed Mar 9 14:27:10 2016 +0200

    tdf#89329 Use std::unique_ptr for pImpl in svparser
    
    Change-Id: Ia791bade1a1f9d27a48994f8bb380ffec50e23bb
    Reviewed-on: https://gerrit.libreoffice.org/23072
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Noel Grandin <noelgran...@gmail.com>

diff --git a/include/svtools/svparser.hxx b/include/svtools/svparser.hxx
index cfbd115..527c192 100644
--- a/include/svtools/svparser.hxx
+++ b/include/svtools/svparser.hxx
@@ -27,6 +27,7 @@
 #include <rtl/textenc.h>
 #include <rtl/ustring.hxx>
 #include <vector>
+#include <memory>
 
 struct SvParser_Impl;
 class SvStream;
@@ -51,7 +52,7 @@ protected:
     sal_uLong           nlLineNr;           // current line number
     sal_uLong           nlLinePos;          // current column number
 
-    SvParser_Impl       *pImplData;         // internal data
+    std::unique_ptr<SvParser_Impl> pImplData; // internal data
     long                nTokenValue;        // additional value (RTF)
     bool                bTokenHasValue;     // indicates whether nTokenValue 
is valid
     SvParserState       eState;             // status also in derived classes
@@ -230,7 +231,7 @@ public:
 class SVT_DLLPUBLIC SvKeyValueIterator : public SvRefBase
 {
     struct Impl;
-    Impl* mpImpl;
+    std::unique_ptr<Impl> mpImpl;
 
 public:
     /** Construction/Destruction.
diff --git a/svtools/source/svrtf/svparser.cxx 
b/svtools/source/svrtf/svparser.cxx
index 3350492..a17ca8a 100644
--- a/svtools/source/svrtf/svparser.cxx
+++ b/svtools/source/svrtf/svparser.cxx
@@ -94,8 +94,6 @@ SvParser::~SvParser()
         rtl_destroyTextToUnicodeConverter( pImplData->hConv );
     }
 
-    delete pImplData;
-
     delete [] pTokenStack;
 }
 
@@ -124,7 +122,7 @@ void SvParser::SetSrcEncoding( rtl_TextEncoding eEnc )
         {
             eSrcEnc = eEnc;
             if( !pImplData )
-                pImplData = new SvParser_Impl;
+                pImplData.reset(new SvParser_Impl);
             pImplData->hConv = rtl_createTextToUnicodeConverter( eSrcEnc );
             DBG_ASSERT( pImplData->hConv,
                         "SvParser::SetSrcEncoding: no converter for source 
encoding" );
@@ -523,7 +521,7 @@ void SvParser::SaveState( int nToken )
     // save actual status
     if( !pImplData )
     {
-        pImplData = new SvParser_Impl;
+        pImplData.reset(new SvParser_Impl);
         pImplData->nSaveToken = 0;
     }
 
@@ -672,10 +670,7 @@ struct SvKeyValueIterator::Impl
 
 SvKeyValueIterator::SvKeyValueIterator() : mpImpl(new Impl) {}
 
-SvKeyValueIterator::~SvKeyValueIterator()
-{
-    delete mpImpl;
-}
+SvKeyValueIterator::~SvKeyValueIterator() = default;
 
 bool SvKeyValueIterator::GetFirst (SvKeyValue &rKeyVal)
 {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to