summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2020-06-22 13:22:20 +0200
committerStephan Bergmann <sbergman@redhat.com>2020-06-22 14:17:55 +0200
commite7cd344cd0d2cc197e3dfd47c262a13631ccda83 (patch)
tree226830434aa0071c9f506f16e5f6727bfcf4979d /sw
parentf89557039270791e7d269460fd5cb988f9380260 (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.cxx9
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