sc/inc/textuno.hxx | 5 ++--- sc/source/ui/unoobj/textuno.cxx | 24 ++++++------------------ 2 files changed, 8 insertions(+), 21 deletions(-)
New commits: commit 01b21b027114baebac99da23f95463373a6addf2 Author: Stephan Bergmann <[email protected]> Date: Thu Dec 8 12:18:32 2016 +0100 Replace manual acquire/release calls with rtl::Reference ...which also removes the need for a user-declared ScHeaderFooterTextCursor copy ctor Change-Id: Ida4ad4b3aef0865b40535f1fbf220ce5c44f2d47 diff --git a/sc/inc/textuno.hxx b/sc/inc/textuno.hxx index eafda68..12c7136 100644 --- a/sc/inc/textuno.hxx +++ b/sc/inc/textuno.hxx @@ -263,11 +263,10 @@ public: class ScHeaderFooterTextCursor : public SvxUnoTextCursor { private: - ScHeaderFooterTextObj& rTextObj; + rtl::Reference<ScHeaderFooterTextObj> rTextObj; public: - ScHeaderFooterTextCursor(const ScHeaderFooterTextCursor& rOther); - ScHeaderFooterTextCursor(ScHeaderFooterTextObj& rText); + ScHeaderFooterTextCursor(rtl::Reference<ScHeaderFooterTextObj> const & rText); virtual ~ScHeaderFooterTextCursor() throw() override; // SvxUnoTextCursor methods reimplemented here: diff --git a/sc/source/ui/unoobj/textuno.cxx b/sc/source/ui/unoobj/textuno.cxx index 9487ae7..68d9bcc 100644 --- a/sc/source/ui/unoobj/textuno.cxx +++ b/sc/source/ui/unoobj/textuno.cxx @@ -299,7 +299,7 @@ uno::Reference<text::XTextCursor> SAL_CALL ScHeaderFooterTextObj::createTextCurs throw(uno::RuntimeException, std::exception) { SolarMutexGuard aGuard; - return new ScHeaderFooterTextCursor( *this ); + return new ScHeaderFooterTextCursor( this ); } uno::Reference<text::XTextCursor> SAL_CALL ScHeaderFooterTextObj::createTextCursorByRange( @@ -669,31 +669,19 @@ ScCellTextCursor* ScCellTextCursor::getImplementation(const uno::Reference<uno:: return pRet; } -ScHeaderFooterTextCursor::ScHeaderFooterTextCursor(const ScHeaderFooterTextCursor& rOther) : - SvxUnoTextCursor( rOther ), - rTextObj( rOther.rTextObj ) -{ - rTextObj.acquire(); -} - -ScHeaderFooterTextCursor::ScHeaderFooterTextCursor(ScHeaderFooterTextObj& rText) : - SvxUnoTextCursor( rText.GetUnoText() ), +ScHeaderFooterTextCursor::ScHeaderFooterTextCursor(rtl::Reference<ScHeaderFooterTextObj> const & rText) : + SvxUnoTextCursor( rText->GetUnoText() ), rTextObj( rText ) -{ - rTextObj.acquire(); -} +{} -ScHeaderFooterTextCursor::~ScHeaderFooterTextCursor() throw() -{ - rTextObj.release(); -} +ScHeaderFooterTextCursor::~ScHeaderFooterTextCursor() throw() = default; // SvxUnoTextCursor methods reimplemented here to return the right objects: uno::Reference<text::XText> SAL_CALL ScHeaderFooterTextCursor::getText() throw(uno::RuntimeException, std::exception) { SolarMutexGuard aGuard; - return &rTextObj; + return rTextObj.get(); } uno::Reference<text::XTextRange> SAL_CALL ScHeaderFooterTextCursor::getStart() throw(uno::RuntimeException, std::exception) _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
