diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2020-06-22 13:22:20 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2020-06-22 14:17:55 +0200 |
commit | e7cd344cd0d2cc197e3dfd47c262a13631ccda83 (patch) | |
tree | 226830434aa0071c9f506f16e5f6727bfcf4979d /sw | |
parent | f89557039270791e7d269460fd5cb988f9380260 (diff) |
tdf#134112 Don't call UNO listeners with SolarMutex locked
Change-Id: I20f616819ce25fa6873872d1f07ae8967a72e9bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96843
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/uibase/dbui/dbmgr.cxx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sw/source/uibase/dbui/dbmgr.cxx b/sw/source/uibase/dbui/dbmgr.cxx index 309d74ae8073..86e31fc27501 100644 --- a/sw/source/uibase/dbui/dbmgr.cxx +++ b/sw/source/uibase/dbui/dbmgr.cxx @@ -1470,10 +1470,11 @@ bool SwDBManager::MergeMailFiles(SwWrtShell* pSourceShell, const SwXMailMerge *pEvtSrc = GetMailMergeEvtSrc(); if(pEvtSrc) { - uno::Reference< uno::XInterface > xRef( - static_cast<text::XMailMergeBroadcaster*>(const_cast<SwXMailMerge*>(pEvtSrc)) ); - text::MailMergeEvent aEvt( xRef, xWorkDocSh->GetModel() ); - pEvtSrc->LaunchMailMergeEvent( aEvt ); + rtl::Reference< SwXMailMerge > xRef( + const_cast<SwXMailMerge*>(pEvtSrc) ); + text::MailMergeEvent aEvt( static_cast<text::XMailMergeBroadcaster*>(xRef.get()), xWorkDocSh->GetModel() ); + SolarMutexReleaser rel; + xRef->LaunchMailMergeEvent( aEvt ); } // working copy is merged - prepare final steps depending on merge options |