diff options
Diffstat (limited to 'sdext')
-rw-r--r-- | sdext/source/pdfimport/inc/pdfparse.hxx | 11 | ||||
-rw-r--r-- | sdext/source/pdfimport/pdfparse/pdfentries.cxx | 29 | ||||
-rw-r--r-- | sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 1 | ||||
-rw-r--r-- | sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx | 3 |
4 files changed, 22 insertions, 22 deletions
diff --git a/sdext/source/pdfimport/inc/pdfparse.hxx b/sdext/source/pdfimport/inc/pdfparse.hxx index a43bfbbb321a..d36828604229 100644 --- a/sdext/source/pdfimport/inc/pdfparse.hxx +++ b/sdext/source/pdfimport/inc/pdfparse.hxx @@ -26,6 +26,7 @@ #include <unordered_map> #include <vector> +#include <memory> namespace pdfparse { @@ -50,7 +51,7 @@ public: private: friend struct PDFEntry; - EmitImplData* m_pImplData; + std::unique_ptr<EmitImplData> m_pImplData; }; struct PDFEntry @@ -227,17 +228,13 @@ struct PDFFileImplData; struct PDFFile : public PDFContainer { private: - mutable PDFFileImplData* m_pData; + mutable std::unique_ptr<PDFFileImplData> m_pData; PDFFileImplData* impl_getData() const; public: unsigned int m_nMajor; // PDF major unsigned int m_nMinor; // PDF minor - PDFFile() - : PDFContainer(), - m_pData( nullptr ), - m_nMajor( 0 ), m_nMinor( 0 ) - {} + PDFFile(); virtual ~PDFFile() override; virtual bool emit( EmitContext& rWriteContext ) const override; diff --git a/sdext/source/pdfimport/pdfparse/pdfentries.cxx b/sdext/source/pdfimport/pdfparse/pdfentries.cxx index ab8a2b999347..87dda7d06010 100644 --- a/sdext/source/pdfimport/pdfparse/pdfentries.cxx +++ b/sdext/source/pdfimport/pdfparse/pdfentries.cxx @@ -97,12 +97,11 @@ EmitContext::EmitContext( const PDFContainer* pTop ) : m_pImplData( nullptr ) { if( pTop ) - m_pImplData = new EmitImplData( pTop ); + m_pImplData.reset( new EmitImplData( pTop ) ); } EmitContext::~EmitContext() { - delete m_pImplData; } PDFEntry::~PDFEntry() @@ -111,14 +110,14 @@ PDFEntry::~PDFEntry() EmitImplData* PDFEntry::getEmitData( EmitContext& rContext ) { - return rContext.m_pImplData; + return rContext.m_pImplData.get(); } void PDFEntry::setEmitData( EmitContext& rContext, EmitImplData* pNewEmitData ) { - if( rContext.m_pImplData && rContext.m_pImplData != pNewEmitData ) - delete rContext.m_pImplData; - rContext.m_pImplData = pNewEmitData; + if( rContext.m_pImplData && rContext.m_pImplData.get() != pNewEmitData ) + rContext.m_pImplData.reset(); + rContext.m_pImplData.reset( pNewEmitData ); } PDFValue::~PDFValue() @@ -1051,9 +1050,13 @@ struct PDFFileImplData }; } +PDFFile::PDFFile() + : PDFContainer(), m_nMajor( 0 ), m_nMinor( 0 ) +{ +} + PDFFile::~PDFFile() { - delete m_pData; } bool PDFFile::isEncrypted() const @@ -1223,7 +1226,7 @@ bool PDFFile::setupDecryptionData( const OString& rPwd ) const m_pData->m_aDigest = rtl_digest_createMD5(); // first try user password - bool bValid = check_user_password( rPwd, m_pData ); + bool bValid = check_user_password( rPwd, m_pData.get() ); if( ! bValid ) { @@ -1232,7 +1235,7 @@ bool PDFFile::setupDecryptionData( const OString& rPwd ) const sal_uInt8 aKey[ENCRYPTION_KEY_LEN]; sal_uInt8 nPwd[ENCRYPTION_BUF_LEN]; memset( nPwd, 0, sizeof(nPwd) ); - sal_uInt32 nKeyLen = password_to_key( rPwd, aKey, m_pData, true ); + sal_uInt32 nKeyLen = password_to_key( rPwd, aKey, m_pData.get(), true ); if( m_pData->m_nStandardRevision == 2 ) { rtl_cipher_initARCFOUR( m_pData->m_aCipher, rtl_Cipher_DirectionDecode, @@ -1256,7 +1259,7 @@ bool PDFFile::setupDecryptionData( const OString& rPwd ) const nPwd, 32 ); // decrypt inplace } } - bValid = check_user_password( OString( reinterpret_cast<char*>(nPwd), 32 ), m_pData ); + bValid = check_user_password( OString( reinterpret_cast<char*>(nPwd), 32 ), m_pData.get() ); } return bValid; @@ -1265,8 +1268,8 @@ bool PDFFile::setupDecryptionData( const OString& rPwd ) const PDFFileImplData* PDFFile::impl_getData() const { if( m_pData ) - return m_pData; - m_pData = new PDFFileImplData(); + return m_pData.get(); + m_pData.reset( new PDFFileImplData ); // check for encryption dict in a trailer unsigned int nElements = m_aSubElements.size(); while( nElements-- > 0 ) @@ -1400,7 +1403,7 @@ PDFFileImplData* PDFFile::impl_getData() const } } - return m_pData; + return m_pData.get(); } bool PDFFile::emit( EmitContext& rWriteContext ) const diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx index 5c096192cb9f..5d4a797f7c96 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx @@ -534,7 +534,6 @@ PDFOutDev::PDFOutDev( PDFDoc* pDoc ) : } PDFOutDev::~PDFOutDev() { - delete m_pUtf8Map; } void PDFOutDev::startPage(int /*pageNum*/, GfxState* state diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx index d060cde8ba54..f6d6fa41ddcb 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx @@ -48,6 +48,7 @@ #include <unordered_map> #include <vector> +#include <memory> class GfxPath; class GfxFont; @@ -134,7 +135,7 @@ namespace pdfi PDFDoc* m_pDoc; mutable std::unordered_map< long long, FontAttributes > m_aFontMap; - UnicodeMap* m_pUtf8Map; + std::unique_ptr<UnicodeMap> m_pUtf8Map; bool m_bSkipImages; int parseFont( long long nNewId, GfxFont* pFont, GfxState* state ) const; |