sc/inc/textuno.hxx | 2 - sc/source/ui/unoobj/textuno.cxx | 66 ++++++++++++++++++---------------------- 2 files changed, 31 insertions(+), 37 deletions(-)
New commits: commit 69da3e140d58a524ab43c8fbbadbd8b8bf9de262 Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Thu Apr 26 14:32:46 2012 -0400 Let's use rtl::Reference instead of a raw pointer and manual refcount adjust.. diff --git a/sc/inc/textuno.hxx b/sc/inc/textuno.hxx index db2d660..fd110c3 100644 --- a/sc/inc/textuno.hxx +++ b/sc/inc/textuno.hxx @@ -161,7 +161,7 @@ class ScHeaderFooterTextObj : public cppu::WeakImplHelper5< { private: ScHeaderFooterTextData aTextData; - SvxUnoText* pUnoText; + rtl::Reference<SvxUnoText> mxUnoText; void CreateUnoText_Impl(); diff --git a/sc/source/ui/unoobj/textuno.cxx b/sc/source/ui/unoobj/textuno.cxx index 87f241e..fbae7fd 100644 --- a/sc/source/ui/unoobj/textuno.cxx +++ b/sc/source/ui/unoobj/textuno.cxx @@ -284,8 +284,7 @@ const EditTextObject* ScHeaderFooterTextData::GetTextObject() const ScHeaderFooterTextObj::ScHeaderFooterTextObj( ScHeaderFooterContentObj& rContent, sal_uInt16 nP, const EditTextObject* pTextObj) : - aTextData(rContent, nP, pTextObj), - pUnoText( NULL ) + aTextData(rContent, nP, pTextObj) { // ScHeaderFooterTextData acquires rContent // pUnoText is created on demand (getString/setString work without it) @@ -293,20 +292,15 @@ ScHeaderFooterTextObj::ScHeaderFooterTextObj( void ScHeaderFooterTextObj::CreateUnoText_Impl() { - if ( !pUnoText ) + if (!mxUnoText.is()) { // can't be aggregated because getString/setString is handled here ScHeaderFooterEditSource aEditSrc(aTextData); - pUnoText = new SvxUnoText(&aEditSrc, lcl_GetHdFtPropertySet(), uno::Reference<text::XText>()); - pUnoText->acquire(); + mxUnoText.set(new SvxUnoText(&aEditSrc, lcl_GetHdFtPropertySet(), uno::Reference<text::XText>())); } } -ScHeaderFooterTextObj::~ScHeaderFooterTextObj() -{ - if (pUnoText) - pUnoText->release(); -} +ScHeaderFooterTextObj::~ScHeaderFooterTextObj() {} const EditTextObject* ScHeaderFooterTextObj::GetTextObject() const { @@ -315,9 +309,9 @@ const EditTextObject* ScHeaderFooterTextObj::GetTextObject() const const SvxUnoText& ScHeaderFooterTextObj::GetUnoText() { - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - return *pUnoText; + return *mxUnoText; } // XText @@ -334,9 +328,9 @@ uno::Reference<text::XTextCursor> SAL_CALL ScHeaderFooterTextObj::createTextCurs throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - return pUnoText->createTextCursorByRange(aTextPosition); + return mxUnoText->createTextCursorByRange(aTextPosition); //! wie ScCellObj::createTextCursorByRange, wenn SvxUnoTextRange_getReflection verfuegbar } @@ -397,9 +391,9 @@ void SAL_CALL ScHeaderFooterTextObj::insertString( const uno::Reference<text::XT throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - pUnoText->insertString( xRange, aString, bAbsorb ); + mxUnoText->insertString( xRange, aString, bAbsorb ); } void SAL_CALL ScHeaderFooterTextObj::insertControlCharacter( @@ -408,9 +402,9 @@ void SAL_CALL ScHeaderFooterTextObj::insertControlCharacter( throw(lang::IllegalArgumentException, uno::RuntimeException) { SolarMutexGuard aGuard; - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - pUnoText->insertControlCharacter( xRange, nControlCharacter, bAbsorb ); + mxUnoText->insertControlCharacter( xRange, nControlCharacter, bAbsorb ); } void SAL_CALL ScHeaderFooterTextObj::insertTextContent( @@ -490,9 +484,9 @@ void SAL_CALL ScHeaderFooterTextObj::insertTextContent( } } - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - pUnoText->insertTextContent( xRange, xContent, bAbsorb ); + mxUnoText->insertTextContent( xRange, xContent, bAbsorb ); } void SAL_CALL ScHeaderFooterTextObj::removeTextContent( @@ -510,33 +504,33 @@ void SAL_CALL ScHeaderFooterTextObj::removeTextContent( return; } } - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - pUnoText->removeTextContent( xContent ); + mxUnoText->removeTextContent( xContent ); } uno::Reference<text::XText> SAL_CALL ScHeaderFooterTextObj::getText() throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - return pUnoText->getText(); + return mxUnoText->getText(); } uno::Reference<text::XTextRange> SAL_CALL ScHeaderFooterTextObj::getStart() throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - return pUnoText->getStart(); + return mxUnoText->getStart(); } uno::Reference<text::XTextRange> SAL_CALL ScHeaderFooterTextObj::getEnd() throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - return pUnoText->getEnd(); + return mxUnoText->getEnd(); } // XTextFieldsSupplier @@ -564,9 +558,9 @@ void SAL_CALL ScHeaderFooterTextObj::moveTextRange( throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - pUnoText->moveTextRange( xRange, nParagraphs ); + mxUnoText->moveTextRange( xRange, nParagraphs ); } // XEnumerationAccess @@ -575,9 +569,9 @@ uno::Reference<container::XEnumeration> SAL_CALL ScHeaderFooterTextObj::createEn throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - return pUnoText->createEnumeration(); + return mxUnoText->createEnumeration(); } // XElementAccess @@ -585,17 +579,17 @@ uno::Reference<container::XEnumeration> SAL_CALL ScHeaderFooterTextObj::createEn uno::Type SAL_CALL ScHeaderFooterTextObj::getElementType() throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - return pUnoText->getElementType(); + return mxUnoText->getElementType(); } sal_Bool SAL_CALL ScHeaderFooterTextObj::hasElements() throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if (!pUnoText) + if (!mxUnoText.is()) CreateUnoText_Impl(); - return pUnoText->hasElements(); + return mxUnoText->hasElements(); } //------------------------------------------------------------------------ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits