summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx4
-rw-r--r--connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx3
-rw-r--r--connectivity/source/drivers/evoab2/NResultSet.cxx3
-rw-r--r--connectivity/source/drivers/evoab2/NStatement.cxx2
-rw-r--r--connectivity/source/drivers/file/FPreparedStatement.cxx2
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx4
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx4
-rw-r--r--connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx3
-rw-r--r--cppuhelper/source/gcc3.map7
-rw-r--r--cppuhelper/source/weak.cxx46
-rw-r--r--dbaccess/source/core/api/RowSet.cxx2
-rw-r--r--dbaccess/source/core/api/statement.cxx2
-rw-r--r--forms/source/component/FormattedField.cxx2
-rw-r--r--framework/source/fwe/helper/titlehelper.cxx2
-rw-r--r--include/cppuhelper/weakref.hxx34
-rw-r--r--include/unotools/weakref.hxx13
-rw-r--r--sw/inc/fldbas.hxx2
-rw-r--r--sw/inc/fmtfld.hxx2
-rw-r--r--sw/inc/fmtftn.hxx2
-rw-r--r--sw/inc/fmtrfmrk.hxx5
-rw-r--r--sw/inc/ndtxt.hxx2
-rw-r--r--sw/inc/section.hxx4
-rw-r--r--sw/inc/tox.hxx4
-rw-r--r--sw/source/core/inc/bookmark.hxx3
-rw-r--r--sw/source/core/txtnode/atrfld.cxx2
-rw-r--r--sw/source/core/undo/undobj1.cxx1
-rw-r--r--toolkit/source/controls/unocontrol.cxx2
27 files changed, 123 insertions, 39 deletions
diff --git a/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx b/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx
index 6b9ea06247f5..d88d9b932f4c 100644
--- a/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx
@@ -44,7 +44,6 @@ using namespace ::com::sun::star::lang;
ODatabaseMetaDataResultSet::ODatabaseMetaDataResultSet()
:ODatabaseMetaDataResultSet_BASE(m_aMutex)
,::comphelper::OPropertyContainer(ODatabaseMetaDataResultSet_BASE::rBHelper)
- ,m_aStatement(nullptr)
,m_nColPos(0)
,m_bBOF(true)
,m_bEOF(true)
@@ -56,7 +55,6 @@ ODatabaseMetaDataResultSet::ODatabaseMetaDataResultSet()
ODatabaseMetaDataResultSet::ODatabaseMetaDataResultSet( MetaDataResultSetType _eType )
:ODatabaseMetaDataResultSet_BASE(m_aMutex)
,::comphelper::OPropertyContainer(ODatabaseMetaDataResultSet_BASE::rBHelper)
- ,m_aStatement(nullptr)
,m_nColPos(0)
,m_bBOF(true)
,m_bEOF(true)
@@ -111,7 +109,7 @@ void ODatabaseMetaDataResultSet::disposing()
OPropertySetHelper::disposing();
::osl::MutexGuard aGuard(m_aMutex);
- m_aStatement = nullptr;
+ m_aStatement.clear();
m_xMetaData.clear();
m_aRowsIter = m_aRows.end();
m_aRows.clear();
diff --git a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx b/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
index 5816f6456a32..bb5bda634cfc 100644
--- a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
@@ -53,7 +53,6 @@ ODatabaseMetaDataResultSet::ODatabaseMetaDataResultSet(ADORecordset* _pRecordSet
:ODatabaseMetaDataResultSet_BASE(m_aMutex)
,OPropertySetHelper(ODatabaseMetaDataResultSet_BASE::rBHelper)
,m_pRecordSet(_pRecordSet)
- ,m_aStatement(nullptr)
,m_nRowPos(0)
,m_bWasNull(false)
,m_bEOF(false)
@@ -88,7 +87,7 @@ void ODatabaseMetaDataResultSet::disposing()
::osl::MutexGuard aGuard(m_aMutex);
if(m_pRecordSet)
m_pRecordSet->Close();
- m_aStatement = nullptr;
+ m_aStatement.clear();
m_xMetaData.clear();
}
diff --git a/connectivity/source/drivers/evoab2/NResultSet.cxx b/connectivity/source/drivers/evoab2/NResultSet.cxx
index e6a43dab7687..53b50a5c3c1a 100644
--- a/connectivity/source/drivers/evoab2/NResultSet.cxx
+++ b/connectivity/source/drivers/evoab2/NResultSet.cxx
@@ -914,8 +914,7 @@ Reference< XInterface > SAL_CALL OEvoabResultSet::getStatement( )
{
::osl::MutexGuard aGuard( m_aMutex );
checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
- css::uno::WeakReferenceHelper aStatement(static_cast<OWeakObject*>(m_pStatement));
- return aStatement.get();
+ return static_cast<cppu::OWeakObject*>(m_pStatement);
}
diff --git a/connectivity/source/drivers/evoab2/NStatement.cxx b/connectivity/source/drivers/evoab2/NStatement.cxx
index 1f3e21a2ef90..8e556800871b 100644
--- a/connectivity/source/drivers/evoab2/NStatement.cxx
+++ b/connectivity/source/drivers/evoab2/NStatement.cxx
@@ -614,7 +614,7 @@ Reference< XResultSet > OCommonStatement::impl_executeQuery_throw( const QueryDa
pResult->construct( _rQueryData );
// done
- m_xResultSet = pResult;
+ m_xResultSet = Reference<XWeak>(pResult);
return pResult;
}
diff --git a/connectivity/source/drivers/file/FPreparedStatement.cxx b/connectivity/source/drivers/file/FPreparedStatement.cxx
index 79c69b3ee62e..2ae516800b06 100644
--- a/connectivity/source/drivers/file/FPreparedStatement.cxx
+++ b/connectivity/source/drivers/file/FPreparedStatement.cxx
@@ -100,7 +100,7 @@ rtl::Reference<OResultSet> OPreparedStatement::makeResultSet()
closeResultSet();
rtl::Reference<OResultSet> xResultSet(createResultSet());
- m_xResultSet = xResultSet;
+ m_xResultSet = uno::Reference<uno::XWeak>(xResultSet);
initializeResultSet(xResultSet.get());
initResultSet(xResultSet.get());
return xResultSet;
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
index 24208ae244af..90d0e3d8746a 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
@@ -183,7 +183,7 @@ OPreparedResultSet::OPreparedResultSet(OConnection& rConn, OPreparedStatement* p
: OPreparedResultSet_BASE(m_aMutex)
, OPropertySetHelper(OPreparedResultSet_BASE::rBHelper)
, m_rConnection(rConn)
- , m_aStatement(static_cast<OWeakObject*>(pStmt))
+ , m_aStatement(css::uno::Reference<css::uno::XWeak>(static_cast<OWeakObject*>(pStmt)))
, m_pStmt(pMyStmt)
, m_encoding(rConn.getConnectionEncoding())
, m_nColumnCount(mysql_stmt_field_count(pMyStmt))
@@ -201,7 +201,7 @@ void OPreparedResultSet::disposing()
MutexGuard aGuard(m_aMutex);
- m_aStatement = nullptr;
+ m_aStatement.clear();
m_xMetaData = nullptr;
}
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx b/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
index 348283b56505..182e74b7fcb9 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
@@ -107,7 +107,7 @@ OResultSet::OResultSet(OConnection& rConn, OCommonStatement* pStmt, MYSQL_RES* p
: OResultSet_BASE(m_aMutex)
, OPropertySetHelper(OResultSet_BASE::rBHelper)
, m_pMysql(rConn.getMysqlConnection())
- , m_aStatement(static_cast<OWeakObject*>(pStmt))
+ , m_aStatement(css::uno::Reference<css::uno::XWeak>(static_cast<OWeakObject*>(pStmt)))
, m_pResult(pResult)
, m_encoding(_encoding)
{
@@ -181,7 +181,7 @@ void OResultSet::disposing()
mysql_free_result(m_pResult);
m_pResult = nullptr;
}
- m_aStatement = nullptr;
+ m_aStatement.clear();
m_xMetaData = nullptr;
}
diff --git a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
index 39a9e39896dc..5fbe8bf8f460 100644
--- a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
@@ -47,7 +47,6 @@ ODatabaseMetaDataResultSet::ODatabaseMetaDataResultSet(OConnection* _pConnection
,OPropertySetHelper(ODatabaseMetaDataResultSet_BASE::rBHelper)
,m_aStatementHandle(_pConnection->createStatementHandle())
- ,m_aStatement(nullptr)
,m_pConnection(_pConnection)
,m_nTextEncoding(_pConnection->getTextEncoding())
,m_nRowPos(-1)
@@ -84,7 +83,7 @@ void ODatabaseMetaDataResultSet::disposing()
m_pConnection->freeStatementHandle(m_aStatementHandle);
- m_aStatement = nullptr;
+ m_aStatement.clear();
m_xMetaData.clear();
m_pConnection.clear();
}
diff --git a/cppuhelper/source/gcc3.map b/cppuhelper/source/gcc3.map
index d5af50655c1a..07099853afb7 100644
--- a/cppuhelper/source/gcc3.map
+++ b/cppuhelper/source/gcc3.map
@@ -435,6 +435,13 @@ global:
_ZN3com3sun4star3uno19WeakReferenceHelperaSEOS3_; # com::sun::star::uno::WeakReferenceHelper::operator=(com::sun::star::uno::WeakReferenceHelper&&)
} LIBO_UDK_3.9;
+LIBO_UDK_7.5 { # LibO 7.5
+global:
+ _ZN3com3sun4star3uno19WeakReferenceHelperaSERKNS2_9ReferenceINS2_5XWeakEEE; # com::sun::star::uno::WeakReferenceHelper::operator=(com::sun::star::uno::Reference<com::sun::star::uno::XWeak> const&)
+ _ZN3com3sun4star3uno19WeakReferenceHelperC1ERKNS2_9ReferenceINS2_5XWeakEEE; # com::sun::star::uno::WeakReferenceHelper::WeakReferenceHelper(com::sun::star::uno::Reference<com::sun::star::uno::XWeak> const&)
+ _ZN3com3sun4star3uno19WeakReferenceHelperC2ERKNS2_9ReferenceINS2_5XWeakEEE; # com::sun::star::uno::WeakReferenceHelper::WeakReferenceHelper(com::sun::star::uno::Reference<com::sun::star::uno::XWeak> const&)
+} LIBO_UDK_5.3;
+
# Unique libstdc++ symbols:
GLIBCXX_3.4 {
global:
diff --git a/cppuhelper/source/weak.cxx b/cppuhelper/source/weak.cxx
index f45f433e9ce2..65c9e7f81912 100644
--- a/cppuhelper/source/weak.cxx
+++ b/cppuhelper/source/weak.cxx
@@ -331,6 +331,7 @@ class OWeakRefListener final : public XReference
{
public:
explicit OWeakRefListener(const Reference< XInterface >& xInt);
+ explicit OWeakRefListener(const Reference< XWeak >& xInt);
virtual ~OWeakRefListener();
// noncopyable
@@ -372,6 +373,25 @@ OWeakRefListener::OWeakRefListener(const Reference< XInterface >& xInt)
osl_atomic_decrement( &m_aRefCount );
}
+OWeakRefListener::OWeakRefListener(const Reference< XWeak >& xWeak)
+ : m_aRefCount( 1 )
+{
+ try
+ {
+ if (xWeak.is())
+ {
+ m_XWeakConnectionPoint = xWeak->queryAdapter();
+
+ if (m_XWeakConnectionPoint.is())
+ {
+ m_XWeakConnectionPoint->addReference(static_cast<XReference*>(this));
+ }
+ }
+ }
+ catch (RuntimeException &) { OSL_ASSERT( false ); } // assert here, but no unexpected()
+ osl_atomic_decrement( &m_aRefCount );
+}
+
OWeakRefListener::~OWeakRefListener()
{
try
@@ -434,6 +454,16 @@ WeakReferenceHelper::WeakReferenceHelper(const Reference< XInterface >& xInt)
}
}
+WeakReferenceHelper::WeakReferenceHelper(const Reference< XWeak >& xWeak)
+ : m_pImpl( nullptr )
+{
+ if (xWeak.is())
+ {
+ m_pImpl = new OWeakRefListener(xWeak);
+ m_pImpl->acquire();
+ }
+}
+
WeakReferenceHelper::WeakReferenceHelper(const WeakReferenceHelper& rWeakRef)
: m_pImpl( nullptr )
{
@@ -493,6 +523,22 @@ WeakReferenceHelper::operator= (const Reference< XInterface > & xInt)
return *this;
}
+WeakReferenceHelper &
+WeakReferenceHelper::operator= (const Reference< XWeak > & xWeak)
+{
+ try
+ {
+ clear();
+ if (xWeak.is())
+ {
+ m_pImpl = new OWeakRefListener(xWeak);
+ m_pImpl->acquire();
+ }
+ }
+ catch (RuntimeException &) { OSL_ASSERT( false ); } // assert here, but no unexpected()
+ return *this;
+}
+
WeakReferenceHelper::~WeakReferenceHelper()
{
clear();
diff --git a/dbaccess/source/core/api/RowSet.cxx b/dbaccess/source/core/api/RowSet.cxx
index d22717c263b0..9de8f00537c3 100644
--- a/dbaccess/source/core/api/RowSet.cxx
+++ b/dbaccess/source/core/api/RowSet.cxx
@@ -2071,7 +2071,7 @@ Reference< XResultSet > SAL_CALL ORowSet::createResultSet( )
if(m_xStatement.is())
{
rtl::Reference<ORowSetClone> pClone = new ORowSetClone( m_aContext, *this, m_pMutex );
- m_aClones.emplace_back(static_cast<cppu::OWeakObject*>(pClone.get()));
+ m_aClones.emplace_back(css::uno::Reference< css::uno::XWeak >(pClone));
return pClone;
}
return Reference< XResultSet >();
diff --git a/dbaccess/source/core/api/statement.cxx b/dbaccess/source/core/api/statement.cxx
index 3a466cff7d5f..3a67cbaebc7a 100644
--- a/dbaccess/source/core/api/statement.cxx
+++ b/dbaccess/source/core/api/statement.cxx
@@ -124,7 +124,7 @@ void OStatementBase::disposeResultSet()
Reference< XComponent > xComp(m_aResultSet.get(), UNO_QUERY);
if (xComp.is())
xComp->dispose();
- m_aResultSet = nullptr;
+ m_aResultSet.clear();
}
// OComponentHelper
diff --git a/forms/source/component/FormattedField.cxx b/forms/source/component/FormattedField.cxx
index 3ede69a641a0..80e425ad6840 100644
--- a/forms/source/component/FormattedField.cxx
+++ b/forms/source/component/FormattedField.cxx
@@ -121,7 +121,7 @@ Reference< XNumberFormatsSupplier > StandardFormatsSupplier::get( const Referenc
// somebody used the small time frame where the mutex was not locked to create and set
// the supplier
return xSupplier;
- s_xDefaultFormatsSupplier = pSupplier;
+ s_xDefaultFormatsSupplier = css::uno::Reference<css::uno::XWeak>(pSupplier);
}
return pSupplier;
}
diff --git a/framework/source/fwe/helper/titlehelper.cxx b/framework/source/fwe/helper/titlehelper.cxx
index 740d98a753ec..2f63b47bd62c 100644
--- a/framework/source/fwe/helper/titlehelper.cxx
+++ b/framework/source/fwe/helper/titlehelper.cxx
@@ -243,7 +243,7 @@ void SAL_CALL TitleHelper::disposing(const css::lang::EventObject& aEvent)
{
osl::MutexGuard aLock(m_aMutex);
- m_xOwner = nullptr;
+ m_xOwner.clear();
m_sTitle = OUString ();
m_nLeasedNumber = css::frame::UntitledNumbersConst::INVALID_NUMBER;
}
diff --git a/include/cppuhelper/weakref.hxx b/include/cppuhelper/weakref.hxx
index 9b41df598340..a5858b2e8805 100644
--- a/include/cppuhelper/weakref.hxx
+++ b/include/cppuhelper/weakref.hxx
@@ -42,6 +42,7 @@ namespace uno
{
class OWeakRefListener;
+class XWeak;
/** The WeakReferenceHelper holds a weak reference to an object.
@@ -79,6 +80,16 @@ public:
*/
WeakReferenceHelper( const css::uno::Reference< css::uno::XInterface > & xInt );
+#if defined LIBO_INTERNAL_ONLY
+ /** Initialize this reference with the hard interface reference xWeak. This
+ is faster than the XInterface constructor because we can skip doing an
+ UNO_QUERY.
+
+ @param xWeak another hard interface reference
+ */
+ WeakReferenceHelper( const css::uno::Reference< css::uno::XWeak > & xWeak );
+#endif
+
/** Releases this reference.
*/
~WeakReferenceHelper();
@@ -102,6 +113,17 @@ public:
WeakReferenceHelper & SAL_CALL operator = (
const css::uno::Reference< css::uno::XInterface > & xInt );
+#if defined LIBO_INTERNAL_ONLY
+ /** Releases this reference and takes over hard reference xWeak. This
+ is faster than the XInterface constructor because we can skip doing an
+ UNO_QUERY.
+
+ @param xWeak another hard reference
+ */
+ WeakReferenceHelper & operator = (
+ const css::uno::Reference< css::uno::XWeak > & xWeak );
+#endif
+
/** Returns true if both weak refs reference to the same object.
@param rObj another weak ref
@@ -176,6 +198,18 @@ public:
const css::uno::Reference< interface_type > & xInt )
{ WeakReferenceHelper::operator=(xInt); return *this; }
+#if defined LIBO_INTERNAL_ONLY
+ /** Releases this reference and takes over hard reference xWeak. This
+ is faster than the XInterface constructor because we can skip doing an
+ UNO_QUERY.
+
+ @param xWeak another hard reference
+ */
+ WeakReference & operator = (
+ const css::uno::Reference< css::uno::XWeak > & xWeak )
+ { WeakReferenceHelper::operator=(xWeak); return *this; }
+#endif
+
/** Gets a hard reference to the object.
@return hard reference or null, if the weakly referenced interface has gone
diff --git a/include/unotools/weakref.hxx b/include/unotools/weakref.hxx
index 189df22d5359..ca5682416033 100644
--- a/include/unotools/weakref.hxx
+++ b/include/unotools/weakref.hxx
@@ -77,14 +77,22 @@ public:
{
}
- /** Copy ctor. Initialize this reference with a hard reference.
+ /** Copy ctor. Initialize this reference with a hard reference.
@param rRef another hard ref
*/
+#if defined LIBO_INTERNAL_ONLY
+ WeakReference(interface_type* pRef)
+ : WeakReferenceHelper(
+ css::uno::Reference<css::uno::XWeak>(static_cast<cppu::OWeakObject*>(pRef)))
+ {
+ }
+#else
WeakReference(interface_type* pRef)
: WeakReferenceHelper(static_cast<cppu::OWeakObject*>(pRef))
{
}
+#endif
/** Releases this reference and takes over hard reference xInt.
If the implementation behind xInt does not support XWeak
@@ -106,7 +114,8 @@ public:
WeakReference& operator=(interface_type* pInt)
{
- WeakReferenceHelper::operator=(static_cast<::cppu::OWeakObject*>(pInt));
+ WeakReferenceHelper::operator=(
+ css::uno::Reference<css::uno::XWeak>(static_cast<::cppu::OWeakObject*>(pInt)));
return *this;
}
diff --git a/sw/inc/fldbas.hxx b/sw/inc/fldbas.hxx
index 880fcf1186c0..42beefb1b5e8 100644
--- a/sw/inc/fldbas.hxx
+++ b/sw/inc/fldbas.hxx
@@ -24,6 +24,7 @@
#include "calbck.hxx"
#include "nodeoffset.hxx"
+#include <com/sun/star/beans/XPropertySet.hpp>
#include <cppuhelper/weakref.hxx>
#include <editeng/svxenum.hxx>
#include <tools/solar.h>
@@ -38,7 +39,6 @@ class SwRootFrame;
class SvNumberFormatter;
class IDocumentRedlineAccess;
class SwGetRefField;
-namespace com::sun::star::beans { class XPropertySet; }
namespace com::sun::star::uno { class Any; }
typedef struct _xmlTextWriter* xmlTextWriterPtr;
diff --git a/sw/inc/fmtfld.hxx b/sw/inc/fmtfld.hxx
index 32a81303c3eb..5687eaa2ec4d 100644
--- a/sw/inc/fmtfld.hxx
+++ b/sw/inc/fmtfld.hxx
@@ -23,6 +23,7 @@
#include <cppuhelper/weakref.hxx>
#include <svl/poolitem.hxx>
#include <svl/SfxBroadcaster.hxx>
+#include <com/sun/star/text/XTextField.hpp>
#include "swdllapi.h"
#include "calbck.hxx"
@@ -36,7 +37,6 @@ class SwFieldType;
class SwDDETable;
class SwFormatField;
class IDocumentRedlineAccess;
-namespace com::sun::star::text { class XTextField; }
namespace sw {
struct FindFormatForFieldHint final : SfxHint {
diff --git a/sw/inc/fmtftn.hxx b/sw/inc/fmtftn.hxx
index d6f80da2ee66..4b2635f6bc90 100644
--- a/sw/inc/fmtftn.hxx
+++ b/sw/inc/fmtftn.hxx
@@ -22,12 +22,12 @@
#include <rtl/ustring.hxx>
#include <cppuhelper/weakref.hxx>
#include <svl/poolitem.hxx>
+#include <com/sun/star/text/XFootnote.hpp>
#include "swdllapi.h"
#include "calbck.hxx"
namespace com::sun::star::text {
- class XFootnote;
class XTextRange;
}
diff --git a/sw/inc/fmtrfmrk.hxx b/sw/inc/fmtrfmrk.hxx
index 698e084ab939..8b28494f9e20 100644
--- a/sw/inc/fmtrfmrk.hxx
+++ b/sw/inc/fmtrfmrk.hxx
@@ -22,13 +22,10 @@
#include <rtl/ustring.hxx>
#include <cppuhelper/weakref.hxx>
#include <svl/poolitem.hxx>
+#include <com/sun/star/text/XTextContent.hpp>
#include "calbck.hxx"
-namespace com::sun::star {
- namespace text { class XTextContent; }
-}
-
class SwTextRefMark;
// ATT_REFMARK
diff --git a/sw/inc/ndtxt.hxx b/sw/inc/ndtxt.hxx
index c77e062d80cd..1320cb23b9bc 100644
--- a/sw/inc/ndtxt.hxx
+++ b/sw/inc/ndtxt.hxx
@@ -19,6 +19,7 @@
#pragma once
#include <cppuhelper/weakref.hxx>
+#include <com/sun/star/text/XTextContent.hpp>
#include "swdllapi.h"
#include "IDocumentContentOperations.hxx"
@@ -70,7 +71,6 @@ namespace com::sun::star {
namespace uno {
template < class > class Sequence;
}
- namespace text { class XTextContent; }
}
typedef o3tl::sorted_vector< sal_Int32 > SwSoftPageBreakList;
diff --git a/sw/inc/section.hxx b/sw/inc/section.hxx
index 4350048f9700..2ead8c7c6e7d 100644
--- a/sw/inc/section.hxx
+++ b/sw/inc/section.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_SW_INC_SECTION_HXX
#include <com/sun/star/uno/Sequence.h>
+#include <com/sun/star/text/XTextSection.hpp>
#include <tools/ref.hxx>
#include <svl/hint.hxx>
@@ -31,9 +32,6 @@
#include "frmfmt.hxx"
#include <vector>
-namespace com::sun::star {
- namespace text { class XTextSection; }
-}
class SwSectionFormat;
class SwDoc;
class SwSection;
diff --git a/sw/inc/tox.hxx b/sw/inc/tox.hxx
index 1c2f12a899f6..2e0c94b61e40 100644
--- a/sw/inc/tox.hxx
+++ b/sw/inc/tox.hxx
@@ -29,15 +29,13 @@
#include <sal/log.hxx>
#include <svl/listener.hxx>
#include <svl/poolitem.hxx>
+#include <com/sun/star/text/XDocumentIndexMark.hpp>
#include "calbck.hxx"
#include "hints.hxx"
#include "swtypes.hxx"
#include "toxe.hxx"
-namespace com::sun::star {
- namespace text { class XDocumentIndexMark; }
-}
class SwTOXType;
class SwTOXMark;
class SwTextTOXMark;
diff --git a/sw/source/core/inc/bookmark.hxx b/sw/source/core/inc/bookmark.hxx
index 2c5cfacfcd28..a9c807063f4f 100644
--- a/sw/source/core/inc/bookmark.hxx
+++ b/sw/source/core/inc/bookmark.hxx
@@ -24,6 +24,7 @@
#include <vcl/keycod.hxx>
#include <memory>
#include <string_view>
+#include <com/sun/star/text/XTextContent.hpp>
#include <rtl/ustring.hxx>
#include <osl/diagnose.h>
@@ -32,8 +33,6 @@
#include <swrect.hxx>
#include "FormFieldButton.hxx"
-namespace com::sun::star::text { class XTextContent; }
-
class SwDoc;
class SwEditWin;
class SwServerObject;
diff --git a/sw/source/core/txtnode/atrfld.cxx b/sw/source/core/txtnode/atrfld.cxx
index 079c8a4b1226..d6fab571bbe9 100644
--- a/sw/source/core/txtnode/atrfld.cxx
+++ b/sw/source/core/txtnode/atrfld.cxx
@@ -293,7 +293,7 @@ void SwFormatField::UpdateTextNode(const SfxPoolItem* pOld, const SfxPoolItem* p
{
if (pOld && (RES_REMOVE_UNO_OBJECT == pOld->Which()))
{ // invalidate cached UNO object
- m_wXTextField = nullptr;
+ m_wXTextField.clear();
// ??? why does this Modify method not already do this?
CallSwClientNotify(sw::LegacyModifyHint(pOld, pNew));
return;
diff --git a/sw/source/core/undo/undobj1.cxx b/sw/source/core/undo/undobj1.cxx
index fa88f6179442..8265ac6e6617 100644
--- a/sw/source/core/undo/undobj1.cxx
+++ b/sw/source/core/undo/undobj1.cxx
@@ -40,6 +40,7 @@
#include <ndole.hxx>
#include <frameformats.hxx>
#include <svx/svdobj.hxx>
+#include <svx/unoshape.hxx>
SwUndoFlyBase::SwUndoFlyBase( SwFrameFormat* pFormat, SwUndoId nUndoId )
: SwUndo(nUndoId, pFormat->GetDoc())
diff --git a/toolkit/source/controls/unocontrol.cxx b/toolkit/source/controls/unocontrol.cxx
index 251c6261c8d4..a87711ec025c 100644
--- a/toolkit/source/controls/unocontrol.cxx
+++ b/toolkit/source/controls/unocontrol.cxx
@@ -660,7 +660,7 @@ void UnoControl::disposing( const EventObject& rEvt )
if ( maAccessibleContext.get() == rEvt.Source )
{
// just in case the context is disposed, but not released - ensure that we do not re-use it in the future
- maAccessibleContext = nullptr;
+ maAccessibleContext.clear();
}
else if( mxModel.get() == Reference< XControlModel >(rEvt.Source,UNO_QUERY).get() )
{