diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2017-01-19 20:26:53 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-01-19 18:29:01 +0000 |
commit | 4b429851e54ccc42e5f9acebce67139bc3d5e244 (patch) | |
tree | 05cefbac75e34a6813b1f49f4276e599031532e2 /sw | |
parent | 28ec4d1456ae17711749e4131e9f8e96eccb1b95 (diff) |
Revert "use rtl::Reference in SwPostItField"
This reverts commit f7ee0054cf9da35f210d9043a68339415aba2284.
until I can figure out how to make that miserable idiot of a
Visual Studio 2013 compiler happy.
Change-Id: I9206df8cbba52bf8aab242a1376f4b6598d2b739
Reviewed-on: https://gerrit.libreoffice.org/33325
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/inc/docufld.hxx | 4 | ||||
-rw-r--r-- | sw/source/core/fields/docufld.cxx | 19 |
2 files changed, 13 insertions, 10 deletions
diff --git a/sw/inc/docufld.hxx b/sw/inc/docufld.hxx index fab98c5e23d3..98e20eada1bb 100644 --- a/sw/inc/docufld.hxx +++ b/sw/inc/docufld.hxx @@ -21,7 +21,7 @@ #include <tools/date.hxx> #include <tools/datetime.hxx> -#include <rtl/ref.hxx> + #include <svl/macitem.hxx> #include "fldbas.hxx" @@ -443,7 +443,7 @@ class SW_DLLPUBLIC SwPostItField : public SwField OUString sName; ///< Name of the comment. DateTime aDateTime; OutlinerParaObject* mpText; - rtl::Reference<SwTextAPIObject> m_xTextObject; + SwTextAPIObject* m_pTextObject; public: SwPostItField( SwPostItFieldType*, diff --git a/sw/source/core/fields/docufld.cxx b/sw/source/core/fields/docufld.cxx index e9ab62338a93..e8205534509a 100644 --- a/sw/source/core/fields/docufld.cxx +++ b/sw/source/core/fields/docufld.cxx @@ -1648,14 +1648,16 @@ SwPostItField::SwPostItField( SwPostItFieldType* pT, , sName( rName ) , aDateTime( rDateTime ) , mpText( nullptr ) + , m_pTextObject( nullptr ) { } SwPostItField::~SwPostItField() { - if ( m_xTextObject.is() ) + if ( m_pTextObject != nullptr ) { - m_xTextObject->DisposeEditSource(); + m_pTextObject->DisposeEditSource(); + m_pTextObject->release(); } delete mpText; @@ -1678,7 +1680,7 @@ SwField* SwPostItField::Copy() const if (mpText) pRet->SetTextObject( new OutlinerParaObject(*mpText) ); - // Note: member <m_xTextObject> not copied. + // Note: member <m_pTextObject> not copied. return pRet; } @@ -1745,20 +1747,21 @@ bool SwPostItField::QueryValue( uno::Any& rAny, sal_uInt16 nWhichId ) const break; case FIELD_PROP_TEXT: { - if ( !m_xTextObject.is() ) + if ( !m_pTextObject ) { SwPostItFieldType* pGetType = static_cast<SwPostItFieldType*>(GetTyp()); SwDoc* pDoc = pGetType->GetDoc(); SwTextAPIEditSource* pObj = new SwTextAPIEditSource( pDoc ); - const_cast <SwPostItField*> (this)->m_xTextObject = new SwTextAPIObject( pObj ); + const_cast <SwPostItField*> (this)->m_pTextObject = new SwTextAPIObject( pObj ); + m_pTextObject->acquire(); } if ( mpText ) - m_xTextObject->SetText( *mpText ); + m_pTextObject->SetText( *mpText ); else - m_xTextObject->SetString( sText ); + m_pTextObject->SetString( sText ); - uno::Reference < text::XText > xText( m_xTextObject.get() ); + uno::Reference < text::XText > xText( m_pTextObject ); rAny <<= xText; break; } |