[Libreoffice-commits] core.git: sw/inc sw/source

Noel Grandin noelgrandin at gmail.com
Thu Jan 19 18:29:24 UTC 2017


 sw/inc/docufld.hxx                |    4 ++--
 sw/source/core/fields/docufld.cxx |   19 +++++++++++--------
 2 files changed, 13 insertions(+), 10 deletions(-)

New commits:
commit 4b429851e54ccc42e5f9acebce67139bc3d5e244
Author: Noel Grandin <noelgrandin at gmail.com>
Date:   Thu Jan 19 20:26:53 2017 +0200

    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 at collabora.co.uk>
    Tested-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/sw/inc/docufld.hxx b/sw/inc/docufld.hxx
index fab98c5..98e20ea 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 e9ab623..e820553 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;
         }


More information about the Libreoffice-commits mailing list