comphelper/source/eventattachermgr/eventattachermgr.cxx | 3 +++ 1 file changed, 3 insertions(+)
New commits: commit b04120235e25854734d5608902eeffd563e2c28f Author: Noel Grandin <[email protected]> AuthorDate: Thu Aug 31 14:01:17 2023 +0200 Commit: Xisco Fauli <[email protected]> CommitDate: Fri Sep 1 13:28:34 2023 +0200 tdf#156967 cal basic, CSV import macro crashes regression from commit ba4191ff0de05334ba32b53a09ad992710f03f9d Author: Noel Grandin <[email protected]> Date: Mon Jan 30 21:48:53 2023 +0200 osl::Mutex->std::mutex in ImplEventAttacherManager Change-Id: I1557d9b6f66628fae1f466198ac4a8961e85e5bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156337 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> (cherry picked from commit b9d9f9ee71464425a52c5798503840b106b210bc) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156375 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/comphelper/source/eventattachermgr/eventattachermgr.cxx b/comphelper/source/eventattachermgr/eventattachermgr.cxx index 260121ba1517..50085c5ce6e4 100644 --- a/comphelper/source/eventattachermgr/eventattachermgr.cxx +++ b/comphelper/source/eventattachermgr/eventattachermgr.cxx @@ -252,7 +252,10 @@ Any SAL_CALL AttacherAllListener_Impl::approveFiring( const AllEventObject& Even OInterfaceIteratorHelper4 aIt( l, mxManager->aScriptListeners ); while( aIt.hasMoreElements() ) { + // cannot hold lock over call to approveFiring, since it might recurse back into us + l.unlock(); aRet = aIt.next()->approveFiring( aScriptEvent ); + l.lock(); try { Reference< XIdlClass > xListenerType = mxManager->getReflection(l)->
