filter/source/config/cache/basecontainer.cxx | 4 ---- forms/source/component/EventThread.cxx | 4 ++-- 2 files changed, 2 insertions(+), 6 deletions(-)
New commits: commit 989bee48c2e06abc32fcf045d762c68fdfb34e87 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sat Sep 28 19:56:51 2024 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Mon Sep 30 21:34:10 2024 +0200 cid#1608448 Data race condition drop mutex, only allowed to be called from ctor Change-Id: I1878cf368caacafdcee96a7112a6cc768ce87520 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174207 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins diff --git a/filter/source/config/cache/basecontainer.cxx b/filter/source/config/cache/basecontainer.cxx index d81ad858dfbf..85e23378361c 100644 --- a/filter/source/config/cache/basecontainer.cxx +++ b/filter/source/config/cache/basecontainer.cxx @@ -45,13 +45,9 @@ void BaseContainer::init(const OUString& const css::uno::Sequence< OUString >& lServiceNames , FilterCache::EItemType eType ) { - // SAFE -> - std::unique_lock aLock(m_aMutex); - m_sImplementationName = sImplementationName; m_lServiceNames = lServiceNames ; m_eType = eType ; - // <- SAFE } commit 73db214e2f4f15c068d4e946ab0face6d0420199 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sat Sep 28 20:03:42 2024 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Mon Sep 30 21:33:58 2024 +0200 cid#1606905 Data race condition Change-Id: I138cc2ef0f30ae4dcb0d86ada3a62507efc22340 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174206 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins diff --git a/forms/source/component/EventThread.cxx b/forms/source/component/EventThread.cxx index 2d5336fe384b..62b0af091c8f 100644 --- a/forms/source/component/EventThread.cxx +++ b/forms/source/component/EventThread.cxx @@ -76,11 +76,11 @@ void OComponentEventThread::impl_clearEventQueue() void OComponentEventThread::disposing( const EventObject& evt ) { + std::unique_lock aGuard( m_aMutex ); + if( evt.Source != static_cast<XWeak*>(m_xComp.get()) ) return; - std::unique_lock aGuard( m_aMutex ); - // Remove EventListener Reference<XEventListener> xEvtLstnr = static_cast<XEventListener*>(this); m_xComp->removeEventListener( xEvtLstnr );