svtools/source/control/valueacc.cxx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
New commits: commit 7b218d6b4f3217b0fc629ef354b0fa4a94315597 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Wed Oct 16 20:46:39 2024 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Thu Oct 17 20:25:29 2024 +0200 cid#1555697 Data race condition Change-Id: Ib022e1fbccf456e89f16a26efb50e6c8d98372ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175065 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins diff --git a/svtools/source/control/valueacc.cxx b/svtools/source/control/valueacc.cxx index f29da058aa4e..5d44c91cc298 100644 --- a/svtools/source/control/valueacc.cxx +++ b/svtools/source/control/valueacc.cxx @@ -377,8 +377,14 @@ void ValueItemAcc::FireAccessibleEvent( short nEventId, const uno::Any& rOldValu if( !nEventId ) return; - ::std::vector< uno::Reference< accessibility::XAccessibleEventListener > > aTmpListeners( mxEventListeners ); - accessibility::AccessibleEventObject aEvtObject; + std::vector<uno::Reference<accessibility::XAccessibleEventListener>> aTmpListeners; + + { + std::scoped_lock aGuard(maMutex); + aTmpListeners = mxEventListeners; + } + + accessibility::AccessibleEventObject aEvtObject; aEvtObject.EventId = nEventId; aEvtObject.Source = getXWeak();