summaryrefslogtreecommitdiff
path: root/sw/source
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source')
-rw-r--r--sw/source/core/access/accmap.cxx10
-rw-r--r--sw/source/core/frmedt/fecopy.cxx2
-rw-r--r--sw/source/core/unocore/unobkm.cxx6
-rw-r--r--sw/source/core/unocore/unochart.cxx10
-rw-r--r--sw/source/core/unocore/unofield.cxx14
-rw-r--r--sw/source/core/unocore/unoframe.cxx6
-rw-r--r--sw/source/core/unocore/unoftn.cxx6
-rw-r--r--sw/source/core/unocore/unoidx.cxx6
-rw-r--r--sw/source/core/unocore/unoparagraph.cxx6
-rw-r--r--sw/source/core/unocore/unorefmk.cxx10
-rw-r--r--sw/source/core/unocore/unosect.cxx6
-rw-r--r--sw/source/core/unocore/unotbl.cxx10
-rw-r--r--sw/source/uibase/dochdl/swdtflvr.cxx8
-rw-r--r--sw/source/uibase/inc/unomailmerge.hxx5
-rw-r--r--sw/source/uibase/inc/unotxvw.hxx4
-rw-r--r--sw/source/uibase/uno/unotxdoc.cxx10
-rw-r--r--sw/source/uibase/uno/unotxvw.cxx24
17 files changed, 63 insertions, 80 deletions
diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx
index 62a5f61c5c2b..7234a571a72c 100644
--- a/sw/source/core/access/accmap.cxx
+++ b/sw/source/core/access/accmap.cxx
@@ -62,7 +62,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/document/XShapeEventBroadcaster.hpp>
#include <cppuhelper/implbase.hxx>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <pagepreviewlayout.hxx>
#include <dcontact.hxx>
#include <svx/unoapi.hxx>
@@ -133,7 +133,7 @@ class SwDrawModellListener_Impl : public SfxListener,
public ::cppu::WeakImplHelper< document::XShapeEventBroadcaster >
{
mutable ::osl::Mutex maListenerMutex;
- ::comphelper::OInterfaceContainerHelper2 maEventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::document::XEventListener> maEventListeners;
std::unordered_multimap<css::uno::Reference< css::drawing::XShape >, css::uno::Reference< css::document::XShapeEventListener >> maShapeListeners;
SdrModel *mpDrawModel;
protected:
@@ -224,14 +224,12 @@ void SwDrawModellListener_Impl::Notify( SfxBroadcaster& /*rBC*/,
if( !SvxUnoDrawMSFactory::createEvent( mpDrawModel, pSdrHint, aEvent ) )
return;
- ::comphelper::OInterfaceIteratorHelper2 aIter( maEventListeners );
+ ::comphelper::OInterfaceIteratorHelper3 aIter( maEventListeners );
while( aIter.hasMoreElements() )
{
- uno::Reference < document::XEventListener > xListener( aIter.next(),
- uno::UNO_QUERY );
try
{
- xListener->notifyEvent( aEvent );
+ aIter.next()->notifyEvent( aEvent );
}
catch( uno::RuntimeException const & )
{
diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx
index 7a57c5f4e709..adc55dbfe9d2 100644
--- a/sw/source/core/frmedt/fecopy.cxx
+++ b/sw/source/core/frmedt/fecopy.cxx
@@ -1204,7 +1204,7 @@ void SwFEShell::PastePages( SwFEShell& rToFill, sal_uInt16 nStartPage, sal_uInt1
EndAllAction();
}
-comphelper::OInterfaceContainerHelper2& SwFEShell::GetPasteListeners() { return m_aPasteListeners; }
+comphelper::OInterfaceContainerHelper3<css::text::XPasteListener>& SwFEShell::GetPasteListeners() { return m_aPasteListeners; }
bool SwFEShell::GetDrawObjGraphic( SotClipboardFormatId nFormat, Graphic& rGrf ) const
{
diff --git a/sw/source/core/unocore/unobkm.cxx b/sw/source/core/unocore/unobkm.cxx
index d7f6d706343a..60d6c47d50b2 100644
--- a/sw/source/core/unocore/unobkm.cxx
+++ b/sw/source/core/unocore/unobkm.cxx
@@ -19,7 +19,7 @@
#include <unobookmark.hxx>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <comphelper/sequence.hxx>
#include <comphelper/servicehelper.hxx>
#include <cppuhelper/supportsservice.hxx>
@@ -45,11 +45,11 @@ class SwXBookmark::Impl
: public SvtListener
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
public:
uno::WeakReference<uno::XInterface> m_wThis;
- ::comphelper::OInterfaceContainerHelper2 m_EventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_EventListeners;
SwDoc* m_pDoc;
::sw::mark::IMark* m_pRegisteredBookmark;
OUString m_sMarkName;
diff --git a/sw/source/core/unocore/unochart.cxx b/sw/source/core/unocore/unochart.cxx
index e5116fed96cf..4ae947545c9b 100644
--- a/sw/source/core/unocore/unochart.cxx
+++ b/sw/source/core/unocore/unochart.cxx
@@ -156,17 +156,13 @@ static osl::Mutex & GetChartMutex()
}
static void LaunchModifiedEvent(
- ::comphelper::OInterfaceContainerHelper2 &rICH,
+ ::comphelper::OInterfaceContainerHelper3<util::XModifyListener> &rICH,
const uno::Reference< uno::XInterface > &rxI )
{
lang::EventObject aEvtObj( rxI );
- comphelper::OInterfaceIteratorHelper2 aIt( rICH );
+ comphelper::OInterfaceIteratorHelper3 aIt( rICH );
while (aIt.hasMoreElements())
- {
- uno::Reference< util::XModifyListener > xRef( aIt.next(), uno::UNO_QUERY );
- if (xRef.is())
- xRef->modified( aEvtObj );
- }
+ aIt.next()->modified( aEvtObj );
}
/**
diff --git a/sw/source/core/unocore/unofield.cxx b/sw/source/core/unocore/unofield.cxx
index 176ecc5f56e6..9b2d96f679ee 100644
--- a/sw/source/core/unocore/unofield.cxx
+++ b/sw/source/core/unocore/unofield.cxx
@@ -43,7 +43,7 @@
#include <sfx2/linkmgr.hxx>
#include <editsh.hxx>
#include <viewsh.hxx>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <comphelper/servicehelper.hxx>
#include <comphelper/string.hxx>
#include <cppuhelper/supportsservice.hxx>
@@ -405,11 +405,11 @@ class SwXFieldMaster::Impl
: public SvtListener
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
public:
uno::WeakReference<uno::XInterface> m_wThis;
- ::comphelper::OInterfaceContainerHelper2 m_EventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_EventListeners;
SwDoc* m_pDoc;
SwFieldType* m_pType;
@@ -1085,13 +1085,13 @@ class SwXTextField::Impl
: public SvtListener
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
SwFieldType* m_pFieldType;
SwFormatField* m_pFormatField;
public:
uno::WeakReference<uno::XInterface> m_wThis;
- ::comphelper::OInterfaceContainerHelper2 m_EventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_EventListeners;
SwDoc* m_pDoc;
rtl::Reference<SwTextAPIObject> m_xTextObject;
@@ -2828,10 +2828,10 @@ sal_Bool SwXTextFieldMasters::hasElements()
class SwXTextFieldTypes::Impl
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
public:
- ::comphelper::OInterfaceContainerHelper2 m_RefreshListeners;
+ ::comphelper::OInterfaceContainerHelper3<util::XRefreshListener> m_RefreshListeners;
Impl() : m_RefreshListeners(m_Mutex) { }
};
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index e4e73fe4460f..cefcd9ae3666 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -109,7 +109,7 @@
#include <fmtfollowtextflow.hxx>
#include <fmtwrapinfluenceonobjpos.hxx>
#include <toolkit/helper/vclunohelper.hxx>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <comphelper/servicehelper.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <sal/log.hxx>
@@ -1152,11 +1152,11 @@ bool SwOLEProperties_Impl::AnyToItemSet(
class SwXFrame::Impl
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
public:
uno::WeakReference<uno::XInterface> m_wThis;
- ::comphelper::OInterfaceContainerHelper2 m_EventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_EventListeners;
Impl() : m_EventListeners(m_Mutex) { }
};
diff --git a/sw/source/core/unocore/unoftn.cxx b/sw/source/core/unocore/unoftn.cxx
index 4e4c95b177d2..c00100d440fc 100644
--- a/sw/source/core/unocore/unoftn.cxx
+++ b/sw/source/core/unocore/unoftn.cxx
@@ -19,7 +19,7 @@
#include <sal/config.h>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <comphelper/sequence.hxx>
#include <comphelper/servicehelper.hxx>
#include <cppuhelper/supportsservice.hxx>
@@ -62,14 +62,14 @@ class SwXFootnote::Impl
: public SvtListener
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
public:
SwXFootnote& m_rThis;
uno::WeakReference<uno::XInterface> m_wThis;
const bool m_bIsEndnote;
- ::comphelper::OInterfaceContainerHelper2 m_EventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_EventListeners;
bool m_bIsDescriptor;
SwFormatFootnote* m_pFormatFootnote;
OUString m_sLabel;
diff --git a/sw/source/core/unocore/unoidx.cxx b/sw/source/core/unocore/unoidx.cxx
index 5e2e39a49a21..370d41a177d9 100644
--- a/sw/source/core/unocore/unoidx.cxx
+++ b/sw/source/core/unocore/unoidx.cxx
@@ -32,7 +32,7 @@
#include <osl/mutex.hxx>
#include <cppuhelper/interfacecontainer.h>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <tools/UnitConversion.hxx>
@@ -1478,7 +1478,7 @@ lcl_TypeToPropertyMap_Mark(const TOXTypes eType)
class SwXDocumentIndexMark::Impl final: public SvtListener
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
SwXDocumentIndexMark & m_rThis;
bool m_bInReplaceMark;
@@ -1487,7 +1487,7 @@ public:
uno::WeakReference<uno::XInterface> m_wThis;
SfxItemPropertySet const& m_rPropSet;
const TOXTypes m_eTOXType;
- ::comphelper::OInterfaceContainerHelper2 m_EventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_EventListeners;
bool m_bIsDescriptor;
const SwTOXType* m_pTOXType;
const SwTOXMark* m_pTOXMark;
diff --git a/sw/source/core/unocore/unoparagraph.cxx b/sw/source/core/unocore/unoparagraph.cxx
index 411263562a6c..92ed2214d565 100644
--- a/sw/source/core/unocore/unoparagraph.cxx
+++ b/sw/source/core/unocore/unoparagraph.cxx
@@ -19,7 +19,7 @@
#include <unoparagraph.hxx>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <cppuhelper/exc_hlp.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <osl/diagnose.h>
@@ -113,12 +113,12 @@ class SwXParagraph::Impl
: public SvtListener
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
public:
SwXParagraph& m_rThis;
uno::WeakReference<uno::XInterface> m_wThis;
- ::comphelper::OInterfaceContainerHelper2 m_EventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_EventListeners;
SfxItemPropertySet const& m_rPropSet;
bool m_bIsDescriptor;
sal_Int32 m_nSelectionStartPos;
diff --git a/sw/source/core/unocore/unorefmk.cxx b/sw/source/core/unocore/unorefmk.cxx
index 1bc65943175f..f59ecbedaeb4 100644
--- a/sw/source/core/unocore/unorefmk.cxx
+++ b/sw/source/core/unocore/unorefmk.cxx
@@ -20,7 +20,7 @@
#include <memory>
#include <utility>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/servicehelper.hxx>
#include <cppuhelper/exc_hlp.hxx>
@@ -64,11 +64,11 @@ class SwXReferenceMark::Impl
: public SvtListener
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
public:
uno::WeakReference<uno::XInterface> m_wThis;
- ::comphelper::OInterfaceContainerHelper2 m_EventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_EventListeners;
bool m_bIsDescriptor;
SwDoc* m_pDoc;
const SwFormatRefMark* m_pMarkFormat;
@@ -603,11 +603,11 @@ SwXMetaText::createTextCursorByRange(
class SwXMeta::Impl : public SvtListener
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
public:
uno::WeakReference<uno::XInterface> m_wThis;
- ::comphelper::OInterfaceContainerHelper2 m_EventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_EventListeners;
std::unique_ptr<const TextRangeList_t> m_pTextPortions;
// 3 possible states: not attached, attached, disposed
bool m_bIsDisposed;
diff --git a/sw/source/core/unocore/unosect.cxx b/sw/source/core/unocore/unosect.cxx
index 116524f89822..b6d58608853e 100644
--- a/sw/source/core/unocore/unosect.cxx
+++ b/sw/source/core/unocore/unosect.cxx
@@ -24,7 +24,7 @@
#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
#include <com/sun/star/text/SectionFileLink.hpp>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <cppuhelper/exc_hlp.hxx>
#include <cppuhelper/supportsservice.hxx>
@@ -110,13 +110,13 @@ class SwXTextSection::Impl
: public SvtListener
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
public:
SwXTextSection & m_rThis;
uno::WeakReference<uno::XInterface> m_wThis;
const SfxItemPropertySet & m_rPropSet;
- ::comphelper::OInterfaceContainerHelper2 m_EventListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_EventListeners;
const bool m_bIndexHeader;
bool m_bIsDescriptor;
OUString m_sName;
diff --git a/sw/source/core/unocore/unotbl.cxx b/sw/source/core/unocore/unotbl.cxx
index 4ce35ed11d4a..d6c24af4065c 100644
--- a/sw/source/core/unocore/unotbl.cxx
+++ b/sw/source/core/unocore/unotbl.cxx
@@ -96,7 +96,7 @@
#include <sortopt.hxx>
#include <sal/log.hxx>
#include <editeng/frmdiritem.hxx>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <comphelper/servicehelper.hxx>
#include <comphelper/string.hxx>
#include <cppuhelper/supportsservice.hxx>
@@ -148,7 +148,7 @@ namespace
void lcl_SendChartEvent(
uno::Reference<uno::XInterface> const& xSource,
- ::comphelper::OInterfaceContainerHelper2& rListeners)
+ ::comphelper::OInterfaceContainerHelper3<chart::XChartDataChangeEventListener>& rListeners)
{
rListeners.notifyEach(
&chart::XChartDataChangeEventListener::chartDataChanged,
@@ -1905,7 +1905,7 @@ class SwXTextTable::Impl
{
private:
SwFrameFormat* m_pFrameFormat;
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper
public:
uno::WeakReference<uno::XInterface> m_wThis;
@@ -3114,12 +3114,12 @@ class SwXCellRange::Impl
: public SvtListener
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
SwFrameFormat* m_pFrameFormat;
public:
uno::WeakReference<uno::XInterface> m_wThis;
- ::comphelper::OInterfaceContainerHelper2 m_ChartListeners;
+ ::comphelper::OInterfaceContainerHelper3<chart::XChartDataChangeEventListener> m_ChartListeners;
sw::UnoCursorPointer m_pTableCursor;
diff --git a/sw/source/uibase/dochdl/swdtflvr.cxx b/sw/source/uibase/dochdl/swdtflvr.cxx
index 7c9917a83825..8245b420295a 100644
--- a/sw/source/uibase/dochdl/swdtflvr.cxx
+++ b/sw/source/uibase/dochdl/swdtflvr.cxx
@@ -1369,13 +1369,9 @@ SwPasteContext::~SwPasteContext()
// Invoke the listeners.
uno::Sequence<beans::PropertyValue> aEvent{ aPropertyValue };
- comphelper::OInterfaceIteratorHelper2 it(m_rWrtShell.GetPasteListeners());
+ comphelper::OInterfaceIteratorHelper3 it(m_rWrtShell.GetPasteListeners());
while (it.hasMoreElements())
- {
- uno::Reference<text::XPasteListener> xListener(it.next(), UNO_QUERY);
- if (xListener.is())
- xListener->notifyPasteEvent(aEvent);
- }
+ it.next()->notifyPasteEvent(aEvent);
}
catch (const uno::Exception& rException)
{
diff --git a/sw/source/uibase/inc/unomailmerge.hxx b/sw/source/uibase/inc/unomailmerge.hxx
index c94d385adb05..050e99ce806b 100644
--- a/sw/source/uibase/inc/unomailmerge.hxx
+++ b/sw/source/uibase/inc/unomailmerge.hxx
@@ -23,6 +23,7 @@
#include <cppuhelper/implbase.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <comphelper/multiinterfacecontainer2.hxx>
#include <com/sun/star/task/XJob.hpp>
@@ -76,8 +77,8 @@ class SwXMailMerge final :
{
friend class MailMergeExecuteFinalizer;
- comphelper::OInterfaceContainerHelper2 m_aEvtListeners;
- comphelper::OInterfaceContainerHelper2 m_aMergeListeners;
+ comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> m_aEvtListeners;
+ comphelper::OInterfaceContainerHelper2 m_aMergeListeners;
OPropertyListenerContainerHelper m_aPropListeners;
const SfxItemPropertySet* m_pPropSet;
diff --git a/sw/source/uibase/inc/unotxvw.hxx b/sw/source/uibase/inc/unotxvw.hxx
index 614f2ac2749d..9608ed619be0 100644
--- a/sw/source/uibase/inc/unotxvw.hxx
+++ b/sw/source/uibase/inc/unotxvw.hxx
@@ -20,7 +20,7 @@
#define INCLUDED_SW_SOURCE_UIBASE_INC_UNOTXVW_HXX
#include <sfx2/sfxbasecontroller.hxx>
-#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/interfacecontainer3.hxx>
#include <com/sun/star/text/XTextViewCursor.hpp>
#include <com/sun/star/text/XTextViewCursorSupplier.hpp>
#include <com/sun/star/text/XTextViewTextRangeSupplier.hpp>
@@ -61,7 +61,7 @@ class SwXTextView final :
public css::datatransfer::XTransferableTextSupplier,
public SfxBaseController
{
- ::comphelper::OInterfaceContainerHelper2 m_SelChangedListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::view::XSelectionChangeListener> m_SelChangedListeners;
SwView* m_pView;
const SfxItemPropertySet* m_pPropSet; // property map for SwXTextView properties
diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx
index 698e31cccdd0..60d5b2b9e4ce 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -259,10 +259,10 @@ static void lcl_DisposeView( SfxViewFrame* pToClose, SwDocShell const * pDocShel
class SwXTextDocument::Impl
{
private:
- ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper2
+ ::osl::Mutex m_Mutex; // just for OInterfaceContainerHelper3
public:
- ::comphelper::OInterfaceContainerHelper2 m_RefreshListeners;
+ ::comphelper::OInterfaceContainerHelper3<css::util::XRefreshListener> m_RefreshListeners;
Impl() : m_RefreshListeners(m_Mutex) { }
@@ -2166,14 +2166,16 @@ void SAL_CALL SwXTextDocument::addRefreshListener(
const Reference<util::XRefreshListener> & xListener)
{
// no need to lock here as m_pImpl is const and container threadsafe
- m_pImpl->m_RefreshListeners.addInterface(xListener);
+ if (xListener)
+ m_pImpl->m_RefreshListeners.addInterface(xListener);
}
void SAL_CALL SwXTextDocument::removeRefreshListener(
const Reference<util::XRefreshListener> & xListener)
{
// no need to lock here as m_pImpl is const and container threadsafe
- m_pImpl->m_RefreshListeners.removeInterface(xListener);
+ if (xListener)
+ m_pImpl->m_RefreshListeners.removeInterface(xListener);
}
void SwXTextDocument::updateLinks( )
diff --git a/sw/source/uibase/uno/unotxvw.cxx b/sw/source/uibase/uno/unotxvw.cxx
index 7e133b9e78c2..d1636de920e9 100644
--- a/sw/source/uibase/uno/unotxvw.cxx
+++ b/sw/source/uibase/uno/unotxvw.cxx
@@ -718,28 +718,18 @@ void SwXTextView::NotifySelChanged()
&view::XSelectionChangeListener::selectionChanged, aEvent);
}
-namespace {
- struct DispatchListener
- {
- URL const & m_rURL;
- Sequence<PropertyValue> const& m_rSeq;
- explicit DispatchListener(URL const& rURL,
- Sequence<PropertyValue> const& rSeq)
- : m_rURL(rURL), m_rSeq(rSeq) { }
- void operator()(uno::Reference<XDispatch> const & xListener) const
- {
- xListener->dispatch(m_rURL, m_rSeq);
- }
- };
-}
-
void SwXTextView::NotifyDBChanged()
{
URL aURL;
aURL.Complete = OUString::createFromAscii(SwXDispatch::GetDBChangeURL());
- m_SelChangedListeners.forEach<XDispatch>(
- DispatchListener(aURL, {}));
+ m_SelChangedListeners.forEach(
+ [&aURL] (const uno::Reference<XSelectionChangeListener>& xListener)
+ {
+ uno::Reference<XDispatch> xDispatch(xListener, UNO_QUERY);
+ if (xDispatch)
+ xDispatch->dispatch(aURL, {});
+ });
}
uno::Reference< beans::XPropertySetInfo > SAL_CALL SwXTextView::getPropertySetInfo( )