Use NameContainer's owner as event source
The owner is set since commit 0f3f371028
(NameContainer need not be an UNO object itself, 2024-12-01), and is
the same object that was used to set event source. Drop the redundancy.
Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: Ie6d50696781395136349ad8084653e624437533d
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/5026
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 6a5646b1abcdc9e61cf9b5ca42d65280bc520b39)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207165
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
This commit is contained in:
committed by
Xisco Fauli
parent
db79242098
commit
c64fc39bf3
@@ -64,7 +64,6 @@ class NameContainer final
|
||||
std::vector<OUString> maNamesOrder;
|
||||
|
||||
css::uno::Type mType;
|
||||
css::uno::XInterface* mpxEventSource;
|
||||
|
||||
::comphelper::OInterfaceContainerHelper4<css::container::XContainerListener> maContainerListeners;
|
||||
::comphelper::OInterfaceContainerHelper4<css::util::XChangesListener> maChangesListeners;
|
||||
@@ -73,12 +72,8 @@ public:
|
||||
NameContainer(const css::uno::Type& rType, cppu::OWeakObject& owner)
|
||||
: rOwner(owner)
|
||||
, mType( rType )
|
||||
, mpxEventSource( nullptr )
|
||||
{}
|
||||
|
||||
void setEventSource( css::uno::XInterface* pxEventSource )
|
||||
{ mpxEventSource = pxEventSource; }
|
||||
|
||||
/// @throws css::lang::IllegalArgumentException
|
||||
/// @throws css::lang::WrappedTargetException
|
||||
/// @throws css::uno::RuntimeException
|
||||
|
||||
@@ -168,7 +168,7 @@ void NameContainer::replaceByName(const OUString& aName, const Any& aElement,
|
||||
if (maContainerListeners.getLength(guard) > 0)
|
||||
{
|
||||
ContainerEvent aEvent;
|
||||
aEvent.Source = mpxEventSource;
|
||||
aEvent.Source = rOwner.getXWeak();
|
||||
aEvent.Accessor <<= aName;
|
||||
aEvent.Element = aElement;
|
||||
aEvent.ReplacedElement = aOldElement;
|
||||
@@ -181,7 +181,7 @@ void NameContainer::replaceByName(const OUString& aName, const Any& aElement,
|
||||
if (maChangesListeners.getLength(guard) > 0)
|
||||
{
|
||||
ChangesEvent aEvent;
|
||||
aEvent.Source = mpxEventSource;
|
||||
aEvent.Source = rOwner.getXWeak();
|
||||
aEvent.Base <<= aEvent.Source;
|
||||
aEvent.Changes = { { Any(aName), aElement, aOldElement } };
|
||||
maChangesListeners.notifyEach(guard, &XChangesListener::changesOccurred, aEvent);
|
||||
@@ -206,7 +206,7 @@ void NameContainer::insertNoCheck(const OUString& aName, const Any& aElement,
|
||||
if (maContainerListeners.getLength(guard) > 0)
|
||||
{
|
||||
ContainerEvent aEvent;
|
||||
aEvent.Source = mpxEventSource;
|
||||
aEvent.Source = rOwner.getXWeak();
|
||||
aEvent.Accessor <<= aName;
|
||||
aEvent.Element = aElement;
|
||||
maContainerListeners.notifyEach(guard, &XContainerListener::elementInserted, aEvent);
|
||||
@@ -218,7 +218,7 @@ void NameContainer::insertNoCheck(const OUString& aName, const Any& aElement,
|
||||
if (maChangesListeners.getLength(guard) > 0)
|
||||
{
|
||||
ChangesEvent aEvent;
|
||||
aEvent.Source = mpxEventSource;
|
||||
aEvent.Source = rOwner.getXWeak();
|
||||
aEvent.Base <<= aEvent.Source;
|
||||
aEvent.Changes = { { Any(aName), aElement, {} } };
|
||||
maChangesListeners.notifyEach(guard, &XChangesListener::changesOccurred, aEvent);
|
||||
@@ -251,7 +251,7 @@ void NameContainer::removeByName(const OUString& aName, std::unique_lock<std::mu
|
||||
if (maContainerListeners.getLength(guard) > 0)
|
||||
{
|
||||
ContainerEvent aEvent;
|
||||
aEvent.Source = mpxEventSource;
|
||||
aEvent.Source = rOwner.getXWeak();
|
||||
aEvent.Accessor <<= aName;
|
||||
aEvent.Element = aOldElement;
|
||||
maContainerListeners.notifyEach(guard, &XContainerListener::elementRemoved, aEvent);
|
||||
@@ -263,7 +263,7 @@ void NameContainer::removeByName(const OUString& aName, std::unique_lock<std::mu
|
||||
if (maChangesListeners.getLength(guard) > 0)
|
||||
{
|
||||
ChangesEvent aEvent;
|
||||
aEvent.Source = mpxEventSource;
|
||||
aEvent.Source = rOwner.getXWeak();
|
||||
aEvent.Base <<= aEvent.Source;
|
||||
aEvent.Changes = { { Any(aName),
|
||||
{}, // Element remains empty (meaning "replaced with nothing")
|
||||
@@ -2690,7 +2690,6 @@ void SAL_CALL SfxLibraryContainer::addContainerListener( const Reference< XConta
|
||||
{
|
||||
LibraryContainerMethodGuard aGuard( *this );
|
||||
std::unique_lock guard(m_aMutex);
|
||||
maNameContainer.setEventSource( getXWeak() );
|
||||
maNameContainer.addContainerListener(xListener, guard);
|
||||
}
|
||||
|
||||
@@ -3110,7 +3109,6 @@ void SfxLibrary::removeByName( const OUString& Name )
|
||||
// Methods XContainer
|
||||
void SAL_CALL SfxLibrary::addContainerListener( const Reference< XContainerListener >& xListener )
|
||||
{
|
||||
maNameContainer.setEventSource( getXWeak() );
|
||||
maNameContainer.addContainerListener(xListener, o3tl::temporary(std::unique_lock(m_aMutex)));
|
||||
}
|
||||
|
||||
@@ -3122,7 +3120,6 @@ void SAL_CALL SfxLibrary::removeContainerListener( const Reference< XContainerLi
|
||||
// Methods XChangesNotifier
|
||||
void SAL_CALL SfxLibrary::addChangesListener( const Reference< XChangesListener >& xListener )
|
||||
{
|
||||
maNameContainer.setEventSource( getXWeak() );
|
||||
maNameContainer.addChangesListener(xListener, o3tl::temporary(std::unique_lock(m_aMutex)));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user