lotuswordpro/source/filter/lwpfilter.cxx | 14 +++++++----- sw/inc/breakit.hxx | 34 ++++++++++++++---------------- sw/source/core/bastyp/breakit.cxx | 35 +++++++++++-------------------- 3 files changed, 38 insertions(+), 45 deletions(-)
New commits: commit 87847bb8b87b80f338bc010d413ce2c9f912e6ec Author: Caolán McNamara <caol...@redhat.com> Date: Mon Feb 27 13:22:01 2017 +0000 ofz: fix leak Change-Id: I631ea0012f8e999f14aa08b42f28d6115a73d084 diff --git a/lotuswordpro/source/filter/lwpfilter.cxx b/lotuswordpro/source/filter/lwpfilter.cxx index 0389ee3..f2fe380 100644 --- a/lotuswordpro/source/filter/lwpfilter.cxx +++ b/lotuswordpro/source/filter/lwpfilter.cxx @@ -101,7 +101,7 @@ using namespace ::com::sun::star; #include "bento.hxx" using namespace OpenStormBento; #include "explode.hxx" - bool Decompress(SvStream *pCompressed, SvStream * & pOutDecompressed) +bool Decompress(SvStream *pCompressed, SvStream * & pOutDecompressed) { pCompressed->Seek(0); std::unique_ptr<SvStream> aDecompressed(new SvMemoryStream(4096, 4096)); @@ -110,10 +110,14 @@ using namespace OpenStormBento; aDecompressed->WriteBytes(buffer, 16); std::unique_ptr<LwpSvStream> aLwpStream(new LwpSvStream(pCompressed)); - LtcBenContainer* pBentoContainer; - sal_uLong ulRet = BenOpenContainer(aLwpStream.get(), &pBentoContainer); - if (ulRet != BenErr_OK) - return false; + std::unique_ptr<OpenStormBento::LtcBenContainer> pBentoContainer; + { + OpenStormBento::LtcBenContainer* pTmp(nullptr); + sal_uLong ulRet = BenOpenContainer(aLwpStream.get(), &pTmp); + pBentoContainer.reset(pTmp); + if (ulRet != BenErr_OK) + return false; + } std::unique_ptr<LtcUtBenValueStream> aWordProData(pBentoContainer->FindValueStreamWithPropertyName("WordProData")); commit 7f335799b34f3454649f0045bdab6f98baa84ed8 Author: Caolán McNamara <caol...@redhat.com> Date: Mon Feb 27 10:07:03 2017 +0000 OSL_ENSURE->assert Change-Id: I21edad9865717674217d2d10b9ec2a689d9d65f9 diff --git a/sw/source/core/bastyp/breakit.cxx b/sw/source/core/bastyp/breakit.cxx index 69436e2..5e7a22c 100644 --- a/sw/source/core/bastyp/breakit.cxx +++ b/sw/source/core/bastyp/breakit.cxx @@ -56,13 +56,13 @@ SwBreakIt::SwBreakIt( const uno::Reference<uno::XComponentContext> & rxContext ) : m_xContext(rxContext) , aForbiddenLang(LANGUAGE_DONTKNOW) { - OSL_ENSURE( m_xContext.is(), "SwBreakIt: no MultiServiceFactory" ); + assert(m_xContext.is() && "SwBreakIt: no MultiServiceFactory"); } void SwBreakIt::createBreakIterator() const { - if ( m_xContext.is() && !xBreak.is() ) - xBreak.set( i18n::BreakIterator::create(m_xContext) ); + if (!xBreak.is()) + xBreak.set(i18n::BreakIterator::create(m_xContext)); } void SwBreakIt::GetLocale_( const LanguageType aLang ) @@ -83,7 +83,7 @@ void SwBreakIt::GetLocale_( const LanguageTag& rLanguageTag ) void SwBreakIt::GetForbidden_( const LanguageType aLang ) { - LocaleDataWrapper aWrap( m_xContext, GetLanguageTag( aLang ) ); + LocaleDataWrapper aWrap(m_xContext, GetLanguageTag(aLang)); aForbiddenLang = aLang; m_xForbidden.reset(new i18n::ForbiddenCharacters(aWrap.getForbiddenCharacters())); commit 8e89aa77056c4b233c24ad3a93c6d4a8159fcf16 Author: Caolán McNamara <caol...@redhat.com> Date: Mon Feb 27 10:05:33 2017 +0000 use std::unique_ptr Change-Id: I3f00cd66a0a8aa0571733caf4db4d16dfd102683 diff --git a/sw/inc/breakit.hxx b/sw/inc/breakit.hxx index 2978f44..6b92d80 100644 --- a/sw/inc/breakit.hxx +++ b/sw/inc/breakit.hxx @@ -35,8 +35,8 @@ class SW_DLLPUBLIC SwBreakIt css::uno::Reference< css::uno::XComponentContext > m_xContext; mutable css::uno::Reference< css::i18n::XBreakIterator > xBreak; - LanguageTag * m_pLanguageTag; ///< language tag of the current locale - css::i18n::ForbiddenCharacters * m_pForbidden; + std::unique_ptr<LanguageTag> m_xLanguageTag; ///< language tag of the current locale + std::unique_ptr<css::i18n::ForbiddenCharacters> m_xForbidden; LanguageType aForbiddenLang; ///< language of the current forbiddenChar struct @@ -50,9 +50,7 @@ class SW_DLLPUBLIC SwBreakIt SwBreakIt& operator=(SwBreakIt const&) = delete; // private (see @ Create_, Delete_). - explicit SwBreakIt( - const css::uno::Reference< css::uno::XComponentContext > & rxContext); - ~SwBreakIt(); + explicit SwBreakIt(const css::uno::Reference<css::uno::XComponentContext> & rxContext); public: // private (see @ source/core/bastyp/init.cxx). @@ -71,9 +69,9 @@ public: const css::lang::Locale& GetLocale( const LanguageType aLang ) { - if( !m_pLanguageTag || m_pLanguageTag->getLanguageType() != aLang ) - GetLocale_( aLang ); - return m_pLanguageTag->getLocale(); + if (!m_xLanguageTag || m_xLanguageTag->getLanguageType() != aLang) + GetLocale_(aLang); + return m_xLanguageTag->getLocale(); } const css::lang::Locale& GetLocale( const LanguageTag& rLanguageTag ) @@ -82,16 +80,16 @@ public: // because here the LanguageTag is already a known LanguageType value // assigned, so LanguageTag does not need to convert to BCP47 for // comparison. - if( !m_pLanguageTag || m_pLanguageTag->getLanguageType() != rLanguageTag.getLanguageType() ) - GetLocale_( rLanguageTag ); - return m_pLanguageTag->getLocale(); + if (!m_xLanguageTag || m_xLanguageTag->getLanguageType() != rLanguageTag.getLanguageType()) + GetLocale_(rLanguageTag); + return m_xLanguageTag->getLocale(); } const LanguageTag& GetLanguageTag( const LanguageType aLang ) { - if( !m_pLanguageTag || m_pLanguageTag->getLanguageType() != aLang ) - GetLocale_( aLang ); - return *m_pLanguageTag; + if (!m_xLanguageTag || m_xLanguageTag->getLanguageType() != aLang) + GetLocale_(aLang); + return *m_xLanguageTag; } const LanguageTag& GetLanguageTag( const LanguageTag& rLanguageTag ) @@ -100,16 +98,16 @@ public: // because here the LanguageTag is already a known LanguageType value // assigned, so LanguageTag does not need to convert to BCP47 for // comparison. - if( !m_pLanguageTag || m_pLanguageTag->getLanguageType() != rLanguageTag.getLanguageType() ) + if (!m_xLanguageTag || m_xLanguageTag->getLanguageType() != rLanguageTag.getLanguageType()) GetLocale_( rLanguageTag ); - return *m_pLanguageTag; + return *m_xLanguageTag; } const css::i18n::ForbiddenCharacters& GetForbidden( const LanguageType aLang ) { - if( !m_pForbidden || aForbiddenLang != aLang ) + if (!m_xForbidden || aForbiddenLang != aLang) GetForbidden_( aLang ); - return *m_pForbidden; + return *m_xForbidden; } sal_uInt16 GetRealScriptOfText( const OUString& rText, sal_Int32 nPos ) const; diff --git a/sw/source/core/bastyp/breakit.cxx b/sw/source/core/bastyp/breakit.cxx index bf0ddb6..69436e2 100644 --- a/sw/source/core/bastyp/breakit.cxx +++ b/sw/source/core/bastyp/breakit.cxx @@ -53,20 +53,12 @@ SwBreakIt * SwBreakIt::Get() } SwBreakIt::SwBreakIt( const uno::Reference<uno::XComponentContext> & rxContext ) - : m_xContext( rxContext ), - m_pLanguageTag( nullptr ), - m_pForbidden( nullptr ), - aForbiddenLang( LANGUAGE_DONTKNOW ) + : m_xContext(rxContext) + , aForbiddenLang(LANGUAGE_DONTKNOW) { OSL_ENSURE( m_xContext.is(), "SwBreakIt: no MultiServiceFactory" ); } -SwBreakIt::~SwBreakIt() -{ - delete m_pLanguageTag; - delete m_pForbidden; -} - void SwBreakIt::createBreakIterator() const { if ( m_xContext.is() && !xBreak.is() ) @@ -75,18 +67,18 @@ void SwBreakIt::createBreakIterator() const void SwBreakIt::GetLocale_( const LanguageType aLang ) { - if (m_pLanguageTag) - m_pLanguageTag->reset( aLang ); + if (m_xLanguageTag) + m_xLanguageTag->reset(aLang); else - m_pLanguageTag = new LanguageTag( aLang ); + m_xLanguageTag.reset(new LanguageTag(aLang)); } void SwBreakIt::GetLocale_( const LanguageTag& rLanguageTag ) { - if (m_pLanguageTag) - *m_pLanguageTag = rLanguageTag; + if (m_xLanguageTag) + *m_xLanguageTag = rLanguageTag; else - m_pLanguageTag = new LanguageTag( rLanguageTag ); + m_xLanguageTag.reset(new LanguageTag(rLanguageTag)); } void SwBreakIt::GetForbidden_( const LanguageType aLang ) @@ -94,8 +86,7 @@ void SwBreakIt::GetForbidden_( const LanguageType aLang ) LocaleDataWrapper aWrap( m_xContext, GetLanguageTag( aLang ) ); aForbiddenLang = aLang; - delete m_pForbidden; - m_pForbidden = new i18n::ForbiddenCharacters( aWrap.getForbiddenCharacters() ); + m_xForbidden.reset(new i18n::ForbiddenCharacters(aWrap.getForbiddenCharacters())); } sal_uInt16 SwBreakIt::GetRealScriptOfText( const OUString& rText, sal_Int32 nPos ) const
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits